【问题标题】:Is there a css pseudo selector for overflow?是否有用于溢出的 css 伪选择器?
【发布时间】:2012-10-24 04:08:33
【问题描述】:

我正在尝试根据其父 div 是否溢出来改变其样式。

.pDiv { display: block; width: 300px; height: 100px; border: 1px solid rgb(0,0,0); }
.cDiv { display: block; padding 4px; border-bottom: 1px solid rgb(0,0,0);
.pDiv:overflow .cDiv { border-bottom: none; }

<div class="pDiv"><div class="cDiv">child 1</div><div class="cDiv">child 2</div><div class="cDiv">child 3</div><div class="cDiv">child 4</div><div class="cDiv">child 5</div></div>

有可能做这样的事情吗?我会使用最后一个子伪选择器,但是子元素的数量可能会有所不同,所以我希望它仅在父 div 溢出时才删除最后一个子元素的边框底部。我也想要一个纯 CSS 解决方案,不要 JS!

【问题讨论】:

标签: html css css-selectors pseudo-class


【解决方案1】:

CSS 无法根据使用的或计算的任何类型的样式进行选择,所以你运气不好。

【讨论】:

  • 呸,那是蹩脚的。基本上,当用户滚动到溢出的父 div 的底部时,我试图消除两个底部边框彼此重叠。猜猜我必须使用 JS,可惜没有简单的 CSS 解决方案:(
  • 你的意思是它是Pleonasm?当然可以,但这绝对不是矛盾。
  • 据我所知,CSS 无法选择已使用或计算的样式,这是正确的。但它可以 - 在某些情况下 - 选择计算状态,例如:hover 和 :active。所以我认为有朝一日 :overflowing 可能是一种可选择的状态。这将是非常好的:)
  • @AdrianSchmidt 直到有人错误地启动了无限重新渲染循环,因为他们的 :overflowing 样式删除了溢出并且原始样式重新触发了溢出......等等。
  • @canon 嗯……是的……那是真的……这当然不是其他计算状态的问题。这可能就是为什么 CSS 也不能选择计算样式的原因?
猜你喜欢
  • 2012-07-27
  • 1970-01-01
  • 2011-03-22
  • 2019-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多