有没有一种简单的方法可以用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等.
这对于 CSS 来说是不可能的;您无法根据某个元素的 CSS 属性来选择该元素。您需要使用 JavaScript 选择所有具有类似内容的元素getComputedStyle,然后根据找到的内容运行一些脚本逻辑。
CSS 中最接近的就是选择 HTML属性;href诸如或 之类的东西title。