css – 仅当元素旁边存在某个元素时才将样式应用于元素

前端之家收集整理的这篇文章主要介绍了css – 仅当元素旁边存在某个元素时才将样式应用于元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用< section>在几个页面标记,但在一个页面上,我正在使用< aside>以< section>开头的标记标签.

在我有< section>的情况下紧接着是< aside>,我想对两者都应用一个宽度,让左边的部分浮动,然后向右浮动.

基本上,如果我有< section>和<旁边>我希望风格像这样工作:

section {
    width: 500px;
    float: left;
    padding: 8px;
}

aside {
    padding:8px; 
    width:400px;
    float:right;
}

如果我只有< section>我希望它像:

section {
    padding: 8px;
}

有没有办法可以用CSS3中的条件语句或伪类来完成这个,而不必使用JavaScript,自定义类或单独的CSS文件

解决方法

这只适用于< section />来自< aside />之后:
<aside>content</aside>
<!-- if there is another node in between,use the '~' selector -->
<section>content</section>

在这种情况下,你可以使用旁边〜节或旁边部分:

section {
    padding: 8px;
}
aside + section {
    width: 500px;
    float: left;
}

在所有其他情况下,您将不得不使用JavaScript,因为这些选择器仅在一个方向上工作,从上到下.

使用CSS4可能有一种方法使用Subject of a selector with Child combinator,但这是未来.此选择器已从规范中删除.

猜你在找的CSS相关文章