我有一些div
s,在页脚和身体之间有点过于宽松。所以我想将一个div转换为span。但是,当我这样做时,它会使页脚的内容稍微混乱。
我该怎么做并保留已经为页脚定义的样式?
提前致谢!
修改
div.footer {
width: 986px;
margin: 0 auto;
padding-bottom:18px;
border: 0;
text-align: left;
color:#000000;
}
答案 0 :(得分:21)
如您所知,<div>
和<span>
之间的差异只是默认为display:block;
而另一个默认为display:inline;
。要使一个行为作为另一个行为,只需将显示样式设置为另一种类型。
但是,你已经说过你试过这个并没有达到你想要的效果。还有一个不太知名的显示属性,但在两者之间提供了一个中途的房子:
display:inline-block;
它的作用是内联显示,但仍然具有类似块的属性。 (这基本上是<img>
标签默认工作的方式。)
这可能是您正在寻找的答案吗?
答案 1 :(得分:3)
要将div转换为span,只需添加:
.myDiv
{
display: inline;
}
但我真的不确定这是你所追求的解决方案。
答案 2 :(得分:1)
<强>引用:强>
在彼此旁边有2个div,它们会在身体与页脚和页脚之间产生一个差距
<强>解决方案:强>
display:none
height
margin
或padding
position:relative; top:-[yourownnumber]px
设为.footer
答案 3 :(得分:0)
尝试将overflow:auto;
添加到您的范围内。同时添加display:block;
答案 4 :(得分:0)
如果页脚和正文之间的空间太大,您是否看过受影响的div上的边距和填充?某些东西的高度或最小高度是否使得身体内的某些内容比内容的自然末端更高? Firebug是一个很好的工具。
Div是一个块元素。其他块元素是段落,标题,列表等.Span是内联元素。其他内联元素是强,图像,锚等。 您仍然需要将主体包含在块级元素中。
答案 5 :(得分:-1)
如果添加这个:
position:relative /*optional*/
float:left;
left:0px;
在我第一次学习css时,我总是这样做,然后才开始使用span。我总是对元素内容做。