📜  CSS | :超出范围选择器(1)

📅  最后修改于: 2023-12-03 15:14:19.221000             🧑  作者: Mango

CSS | :超出范围选择器

在开发中,我们经常需要将元素限定在一个特定的区域内。当元素超出这个区域时,我们通常会采取一些措施来避免出现不良的效果。而在 CSS 中,我们可以使用 :超出范围选择器 来实现这个目的。

使用方法

::after::before 伪元素结合 content 属性可用于给指定元素添加一些额外的内容。CSS3 新增了一些伪类选择器来为了处理超出范围的元素。使用这个选择器时需要将元素的 overflow 属性设置为 hiddenscroll

:overflown

:overflown 选择器用于匹配那些发生了溢出的元素。这个选择器可以应用于任何元素上。如果元素内部的内容超出了它的可见范围,那么这个元素就会被视为匹配了 :overflown 选择器。

div:overflown {
  /* 超出范围的元素被选择 */
  background-color: red;
}
:not(:overflown)

:not(:overflown) 选择器匹配指定元素中没有发生溢出的元素。也就是说,如果元素内部的内容没有发生溢出,那么这个元素就会被视为匹配了 :not(:overflown) 选择器。

div:not(:overflown) {
  /* 没有超出范围的元素被选择 */
  background-color: blue;
}
示例代码
<div class="box">
  <p>这是一个段落,内容不太多,不会出现溢出。</p>
  <img src="https://picsum.photos/id/1015/200/300" alt="图片" width="200" height="300">
  <p>这是另一个段落,内容稍微多一些,但也不会出现溢出。</p>
</div>
.box {
  width: 400px;
  height: 300px;
  overflow: hidden;
}

.box:overflown {
  /* 当内容溢出时,背景色变红 */
  background-color: red;
}

.box:not(:overflown) {
  /* 当内容未溢出时,背景色变蓝 */
  background-color: blue;
}
总结

:超出范围选择器 是一个非常方便的 CSS 选择器,它可以帮助我们轻松处理发生内部内容溢出的元素。在实际开发中,我们可以使用它来改变某些元素的行为,以便更好地组织和呈现我们的页面。