我有<div>
一个border:15px
。它在小提琴中给出的左角有一个图像
http://jsfiddle.net/user1212/e7Gez/17/
现在,此图像正在从顶部向下推文本。我怎样才能让文字得到margin-top:0;
我不想使用图像,background-image
因为它15px border
与它重叠。
有什么解决办法吗?
我有<div>
一个border:15px
。它在小提琴中给出的左角有一个图像
http://jsfiddle.net/user1212/e7Gez/17/
现在,此图像正在从顶部向下推文本。我怎样才能让文字得到margin-top:0;
我不想使用图像,background-image
因为它15px border
与它重叠。
有什么解决办法吗?
只需float: left;
在您的图像上使用,请参阅更新的 Fiddle。您也可以margin-right
在其上使用负号以防止其将文本推向左侧,但随后您需要将z-index
其和其余内容弄乱,这意味着需要额外的 HTML 标记以用于样式目的;看到这个小提琴。
好的,我将把我的另一个答案作为一个更直接的“这就是你如何按照自己的方式解决问题”的答案,但我认为这里更好的方法是使用position: absolute;
- 这样可以更轻松地实现效果.
我将图像样式设置如下:
img#post-backgrnd {
position: absolute;
top: -1px;
left: 0px;
}
这会强制图像移动到左上角,这就是我们想要的位置(这top: -1px;
是因为图像与边框略微未对齐),并且position: absolute;
意味着它不占用空间,因此它不会推动文本一点也不。但是,这样做时,图像会覆盖文本。这里更好的解决方案是编辑图像,修复对齐问题(并转到top: 0;
),并使白色部分实际上是透明的。
如果由于某种原因无法完成,您可以使用 解决此重叠问题z-index
,但这意味着您的父级、您的图像和文本需要三个不同的z-index
值,这意味着您需要一个新的文本元素。有关此示例,请参阅此 Fiddle。
只需添加vertical-align:top
到您的<div>
喜欢:
.content {
width: 500px;
height: 500px;
border: 15px solid #E4EAF3;
/* background: #ffffff url('http://smitra.net76.net/post-bg.jpg') no-repeat top left;*/
margin-top:0;
padding-top:0;
vertical-align:top;
}
在jsfiddle中看到它