使用css选择所有块级元素

Jay*_*ine 7 css css-selectors

有没有一种简单的方法可以用CSS选择所有块级元素?

我想在我网站的主要内容区域中的所有块级元素之间加上1.5 em边距

现在我的代码如下:

#wrapper .content p, #wrapper .content ul, #wrapper .content div, #wrapper .content ol, #wrapper .content blockquote, #wrapper .content table {margin-top: 1.5em;}

#wrapper .content p:first-child, #wrapper .content ul:first-child, #wrapper .content div:first-child, #wrapper .content ol:first-child, #wrapper .content blockquote:first-child, #wrapper .content table:first-child {margin-top: 1.5em;}
Run Code Online (Sandbox Code Playgroud)

这是后方阅读或维护的皇家痛苦......

我想用以下内容替换它:

#wrapper .content *:block + *:block {margin-top: 1.5em;}
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我不能使用,* + *因为它也会捕获内联元素,表格单元格等,我不希望在段落中间应用随机边距.我也无法使用,#wrapper .content > *因为它不会嵌套div等.

Tyl*_*erH 1

这对于 CSS 来说是不可能的;您无法根据某个元素的 CSS 属性来选择该元素。您需要使用 JavaScript 选择所有具有类似内容的元素getComputedStyle,然后根据找到的内容运行一些脚本逻辑。

CSS 中最接近的就是选择 HTML属性href诸如或 之类的东西title