我不得不在一个别人写的项目上工作,他们写网站的方式一切都是用利润率,正负利润率来定位的。
我只对文本元素使用页边距,比如<p>或<h1>标签。
使用填充在我的div构建块中对内容进行间隔。
当在div上使用空格来尝试控制它们的间距时,我遇到了很多问题。
所以我的问题是:
最好是只在文本元素上使用边距,并在主要构建块上使用填充,除非在特定情况下使用边距更有意义?
我对其他人对差额属性及其用途的看法很感兴趣。
它有没有引起其他问题?
发布于 2010-11-11 19:09:47
CSS margin属性应该用来设置框之间的间距,而不是用来定位某个框中的文本(内容),也不应该用来改变框的位置。对于这两个活动中的每一个都有特定的属性:padding和position (带有left、right、top和bottom)。
决定您需要哪些属性相当简单。让我们来看一些案例:
答:我在一个父类中有3列,我希望它们之间有一些空格。
这将需要使用margin,因为您显然需要元素之间的空间,而不是元素内部的空间。
B.每列都有边框和文本内容,但文本内容从边框开始。我做什么好?
您可以应用一些padding。即使你没有边框并且想要定位文本内容,你仍然应用填充,而不是边距!
C.我想做一些很酷的未来主义布局,让方框彼此不对齐。它们中的一些甚至应该重叠!
在这种情况下,显然不是间距的问题,而是定位的问题,所以您应该使用position属性。不要将页边距应用于元素之间的间隔,而是相对于父元素(如果使用position: relative,则将它们定位到默认位置)。
提示:为了更容易决定您是否需要边距或填充,请始终考虑如果您在所有元素上都有边框,您会做什么。
发布于 2010-11-11 19:11:15
边距用于在两个元素之间创建空间,而填充用于将元素的内容与其边缘隔开。
更新:我使用破折号(-)来表示空格。
所以这是保证金...
-|元素|--|元素|-
这是padding..。
-Element-||-Element-
这是空白处和填充物。
-|-元素-|--|-元素-|-
所以问题是,你想用什么.答案是视情况而定。如果你对元素有一个可见的边缘,无论是背景颜色还是边框,填充都不会在元素之间产生可见的间隙,所以你必须使用边距来分隔它们(即防止边缘接触)。
所以本质上,它们做了不同的事情,你应该使用空格来间隔元素,并使用填充来在元素的边缘和它的内容之间创建一个间隙。
发布于 2010-11-11 19:23:05
回答你的问题:不。您的主要构建块可能会使用浮点数进行布局,并且使用负边距可以保持合理的源代码顺序-请参阅http://www.alistapart.com/articles/negativemargins/
https://stackoverflow.com/questions/4153707
复制相似问题