CSS:仅当存在更高版本的同级时才选择元素

奥马尔

在我的HTML结构中,我将其设置如下:

<body>
   <main>
      <section>
      ...
      </section>

      <aside>
      ...
      </aside>
   </main>
</body>

问题是,并非所有页面都有 <aside>

我需要选择<section>max-width: 500px; 仅在<aside>存在时才给它默认值为section { max-width: 1000px; }<aside>不存在时)

选择器中的一个标签直接跟在另一个标签之后不同; 用户[提出问题]想要一直设置“ B”样式。另外,在这个问题中,用户希望选择“ B”(而不是“ A”)


  • 我需要<section>设置样式(如果<aside>存在)。
  • 我无法更改HTML> _ <的顺序
  • 只能用CSS完成吗?
  • 我需要什么选择器或如何设置它?
  • 如果不能使用CSS来完成(我宁愿只使用CSS),该如何完成呢?
wawa

整洁的小把戏

您可以通过使用一个技巧来检查达到你想要什么,如果<section>元素是唯一的元素<main>如果那里有任何其他元素,这将不起作用。在您的情况下,它应该像这样(http://jsfiddle.net/Ljm323qb/2/)工作:

section {
     max-width: 500px;
}
/* The STAR of the show */
section:only-child {
     max-width: 1000px;
}

如该代码笔所示:http ://codepen.io/omarjuvera/pen/ByXGyK?editors=110


兄弟选择器的一般内容

有一个+选择器,可以选择元素之后的兄弟姐妹(https://developer.mozilla.org/en-US/docs/Web/CSS/Adjacent_sibling_selectors

还有一个~选择器,用于选择以下所有兄弟姐妹(https://developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_selectors

您可以通过将<aside>元素放在元素之前<section>并使用同级选择器来实现。

这是一个示例:http : //jsfiddle.net/Ljm323qb/1/

将来的快速浏览
有了新的:has伪类(http://dev.w3.org/csswg/selectors-4/#relational,很快就可以实现这一点,
您将可以调用类似的东西,main:has(> aside) > section { ... }但是我们将不得不等待,不幸的是:(

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅当元素上不存在 class 时才应用某些 CSS 样式

来自分类Dev

仅当目标元素没有后续的同级元素时才进行定位

来自分类Dev

仅当没有h1同级元素时才对元素进行样式设置

来自分类Dev

仅当记录存在时才从联接表中选择

来自分类Dev

仅当SQL Server中存在负值时,才选择负值

来自分类Dev

SQL-仅当B不存在时才选择A

来自分类Dev

仅当没有通过CSS的同级元素时可见

来自分类Dev

仅当先前的div存在时才应用CSS规则

来自分类Dev

仅当元素不存在时才将元素添加到C数组

来自分类Dev

仅当数组中存在单个元素时,才如何使用splice()删除单个元素?

来自分类Dev

仅当子元素存在于父元素下时,才如何删除它?

来自分类Dev

仅当下拉元素存在时才显示 tr/td 元素

来自分类Dev

同级中元素的CSS选择器

来自分类Dev

仅当数据存在时才显示按钮

来自分类Dev

仅当值存在时才如何从带有WHERE子句的联接表中选择?

来自分类Dev

仅当不存在较新的记录时才选择一条记录

来自分类Dev

SQL SELECT - 仅当存在另一条记录时才选择

来自分类Dev

仅当类名存在时才显示元素(无法控制类名的值)吗?

来自分类Dev

仅当存在第一个元素时才获取列表的组合

来自分类Dev

仅当对象与上一个jq具有不同的元素时,才选择对象

来自分类Dev

悬停在任何元素上时,如何使用CSS3选择器选择所有同级元素?

来自分类Dev

仅当类存在于代码中的其他位置时,才如何应用CSS?

来自分类Dev

仅当类存在于代码中的其他位置时,才如何应用CSS?

来自分类Dev

为什么我的 CSS 动画仅在开发工具中选择元素时才起作用?

来自分类Dev

选择元素之前的同级

来自分类Dev

仅当版本为11+时才使用功能

来自分类Dev

仅当具有两个类并共享相同的第一个类时才选择元素

来自分类Dev

选择名称相同但值不同的select时禁用同级元素

来自分类Dev

当没有同级物时如何选择元素?

Related 相关文章

  1. 1

    仅当元素上不存在 class 时才应用某些 CSS 样式

  2. 2

    仅当目标元素没有后续的同级元素时才进行定位

  3. 3

    仅当没有h1同级元素时才对元素进行样式设置

  4. 4

    仅当记录存在时才从联接表中选择

  5. 5

    仅当SQL Server中存在负值时,才选择负值

  6. 6

    SQL-仅当B不存在时才选择A

  7. 7

    仅当没有通过CSS的同级元素时可见

  8. 8

    仅当先前的div存在时才应用CSS规则

  9. 9

    仅当元素不存在时才将元素添加到C数组

  10. 10

    仅当数组中存在单个元素时,才如何使用splice()删除单个元素?

  11. 11

    仅当子元素存在于父元素下时,才如何删除它?

  12. 12

    仅当下拉元素存在时才显示 tr/td 元素

  13. 13

    同级中元素的CSS选择器

  14. 14

    仅当数据存在时才显示按钮

  15. 15

    仅当值存在时才如何从带有WHERE子句的联接表中选择?

  16. 16

    仅当不存在较新的记录时才选择一条记录

  17. 17

    SQL SELECT - 仅当存在另一条记录时才选择

  18. 18

    仅当类名存在时才显示元素(无法控制类名的值)吗?

  19. 19

    仅当存在第一个元素时才获取列表的组合

  20. 20

    仅当对象与上一个jq具有不同的元素时,才选择对象

  21. 21

    悬停在任何元素上时,如何使用CSS3选择器选择所有同级元素?

  22. 22

    仅当类存在于代码中的其他位置时,才如何应用CSS?

  23. 23

    仅当类存在于代码中的其他位置时,才如何应用CSS?

  24. 24

    为什么我的 CSS 动画仅在开发工具中选择元素时才起作用?

  25. 25

    选择元素之前的同级

  26. 26

    仅当版本为11+时才使用功能

  27. 27

    仅当具有两个类并共享相同的第一个类时才选择元素

  28. 28

    选择名称相同但值不同的select时禁用同级元素

  29. 29

    当没有同级物时如何选择元素?

热门标签

归档