Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
控制块元素间距的CSS_Css_Css Selectors - Fatal编程技术网

控制块元素间距的CSS

控制块元素间距的CSS,css,css-selectors,Css,Css Selectors,我有一个,其中填充了不同的块元素(例如,,,,等等)。我希望只控制这些子块元素之间的间距。我还希望子块元素与父div的顶部和底部之间没有间距 我已经尝试了一些解决方案。主要的一个是使用相邻兄弟组合符的规则混乱。另一个是将边距顶部值设置为所需间距,然后使用:第一个子伪选择器 有没有更干净、兼容性更好的解决方案 谢谢。我个人会分别为所有子元素类型制作选择器,因为CSS3伪类目前在所有浏览器中都没有很好的实现。你可以用我能想到的最干净的方式来做: div.class blockquote, div.c

我有一个
,其中填充了不同的块元素(例如
,等等)。我希望只控制这些子块元素之间的间距。我还希望子块元素与父div的顶部和底部之间没有间距

我已经尝试了一些解决方案。主要的一个是使用相邻兄弟组合符的规则混乱。另一个是将
边距顶部
值设置为所需间距,然后使用
:第一个子
伪选择器

有没有更干净、兼容性更好的解决方案


谢谢。

我个人会分别为所有子元素类型制作选择器,因为CSS3伪类目前在所有浏览器中都没有很好的实现。你可以用我能想到的最干净的方式来做:

div.class blockquote, div.class p, div.class ul { /* something */ }

等等。

如果我正确地理解了你的观点,这还不够吗

div * { margin:0 10px }

这*是一个糟糕的选择器,尽管从性能角度来看,这是因为浏览器的工作方式:

相邻的兄弟组合(aka.
+
)是CSS 2:s不确定如何使用您显示的内容来实现我想要的。我希望控制
子块元素之间的空间,并且只控制它们之间的空间。(例如,如果
中有2个
,我希望第一个的上边距为0,最后一个的下边距为0。然后第一个或第二个的下边距或上边距分别有一个设置值。目前我通过
p+p{margin top:which}来实现这一点。)
但使用的块元素越多,它就越混乱。)