将div转换为CSS的范围

问题描述:

我有几个div s,这使得页脚和主体之间的空间太小了。所以我想将一个div转换为span。但是当我这样做的时候,它会混淆了页脚的内容。将div转换为CSS的范围

我如何做到这一点,并保持已经为页脚定义的样式?

在此先感谢!

编辑

div.footer { 
width: 986px; 
margin: 0 auto; 
padding-bottom:18px; 
border: 0; 
text-align: left; 
color:#000000; 
} 
+0

你可以发布一些HTML和CSS,所以我们可以帮助你更多?或者一个现场的例子会很棒。 – Kyle 2010-09-29 09:16:24

+2

呃......你确实将'div'元素转换成'span'元素能够解决你的问题吗?这不是平息CSS定位怪癖的常用方法之一 – 2010-09-29 09:26:26

+0

是的,因为在eachother旁边有2个div,这会在body和footer之间产生休闲间隙。随着跨度这个差距可以减少。凯尔Sevenoaks,这是一个很大的,没有活的例子atm。 – Yustme 2010-09-29 09:28:07

在div(多个)marginpadding正如您所知道的,<div><span>之间的差异只是一个默认为display:block;而另一个则为display:inline;。要使其中一个行为,只需将显示样式设置为其他类型即可。

但是,你已经说过你试过这个,它没有达到你要找的效果。还有另一种显示性能,这是少为人知,但提供了两者之间的中途宿舍:

display:inline-block; 

它所做的是内联显示它,但仍与块状性质。 (这基本上是<img>默认标签的工作原理)。

难道这就是你要找的答案吗?

+0

谢谢你为我做的! – Yustme 2010-09-30 09:17:25

尝试增加overflow:auto;你的跨度。另外补充display:block;

+0

这与op所问的内容相反。 – Kyle 2010-09-29 09:20:17

+0

不,它不是,SPAN元素大多数时候需要一些额外的属性来开始表现为块对象,而不是在基础DIV上“落下”。 – Ben 2010-09-29 09:21:24

+5

“所以我想将一个div转换为跨度。”您发布了如何将跨度转换为div :) – Kyle 2010-09-29 09:26:20

一个DIV转换为一个跨度,只需添加:

.myDiv 
{ 
    display: inline; 
} 

但我真的不知道这是你后的溶液。

+0

我试过了,但它没有奏效。它没有采取所有其他风格。它只是对齐左边。 – Yustme 2010-09-29 09:39:02

+0

因为它现在是一个内联元素,就像我们所说的那样,将一个div转换为跨度并不是正确的解决方案:) – Kyle 2010-09-29 09:42:31

如何,如果添加此:

position:relative /*optional*/ 
float:left; 
left:0px; 

我总是这样做之前,我知道要使用量程当我第一次学习的CSS,我总是做我的元素含量。

如果页脚和身体之间的空间太大,是否看过受影响的div上的边距和填充物?是否有某种高度或最小高度使得内容中的某些内容比内容的自然结束更高? Firebug是一个很好的工具。

Div是一个块元素。其他块元素是段落,标题,列表等。跨度是内联元素。其他内联元素是强壮的,图片,锚点等。 您仍然需要将主体包含在块级元素中。

引用:

旁边还有2周的div海誓山盟其产生所述主体和所述footerbody和页脚之间的休间隙

解决方案:

  • 删除空div(s)从HTML
  • 通过添加display:none
  • 删除空div(一个或多个)降低的div(一个或多个)的height
  • 减少
  • 设置position:relative; top:-[yourownnumber]px.footer
+0

谢谢,这对我也有帮助! – Yustme 2010-09-30 09:18:33

+0

不客气。 – 2010-09-30 09:34:11