【发布时间】:2014-10-24 23:54:48
【问题描述】:
我需要一个 100% 宽度的图像,上面有一个菜单和一个表单。
在该区域之后,我将拥有页面主要内容...
为了更好地使图像适应不同的设备,我使用边距和媒体查询“裁剪”左/右或顶部的图像(调整窗口大小以进行检查)。
问题是当我裁剪图像时,例如在顶部,标题内容也会上升并消失。
这是我的 HTML 和 CSS,带有 JSFiddle example:
.header {
position: relative;
}
div.slider {
position: relative;
}
img {
width: 100%;
outline: 0;
height: auto;
}
@media screen and (max-width:480px) {
div.crop {
margin-left: -12em;
}
}
@media screen and (min-width:800px) {
div.crop {
margin-top: -4em;
}
}
div.header-content {
position: absolute;
top: 0;
}
div.main-content {
}
<div class="header">
<div class="slider">
<div class="crop">
<img class="slide" src="http://placehold.it/800x200"/>
</div>
</div>
<div class="header-content">
<div class="menu">
A menu
</div>
<div class="form">
A form
</div>
</div>
</div>
<div class="main-content">
Main Content
</div>
通过删除“裁剪”部分,一切正常......
这是我的非裁剪版本的 HTML 和 CSS JSFiddle example:
.header {
position: relative;
}
div.slider {
position: relative;
}
img {
width: 100%;
height: auto;
outline: 0;
}
div.header-content {
position: absolute;
top: 0;
}
div.main-content { }
<div class="header">
<div class="slider">
<img class="slide" src="http://placehold.it/800x200"/>
</div>
<div class="header-content">
<div class="menu">
A menu
</div>
<div class="form">
A form
</div>
</div>
</div>
<div class="main-content">
Main Content
</div>
我该如何解决这个问题?
【问题讨论】:
-
margin-top: -4em;已打开秘密 (;)) 顶部空间,供.header-content入住! (它不会消失,它只是移动到可用区域。转至-1em获取图片。) -
我知道是边缘顶部使文本消失。我使用 margin-top 是因为我正在裁剪图像以更好地适应更大的屏幕。但是我怎样才能将我的代码更改为仍然能够裁剪图像而不使文本消失。这就是问题所在。
-
有很多解决方案。只是您ehrmm“裁剪”图像的方式很奇怪。
-
那么您将如何裁剪图像?我这样做的方式很常见……
-
@RokoC.Buljan 很好地解释了我在做什么:designshack.net/articles/css/…
标签: html css media-queries