我想知道是否有一种HTML/CSS 唯一的方法来检测(或至少,显示/隐藏一些带有伪类的元素等)以在元素的内容溢出时采取行动(仅限垂直)。是的,我知道它可以完成并且我知道如何去做(我不需要 JS 示例,请),我只想知道是否有一个聪明的方法,没有任何javascript。
我试图显示一个“更多...”按钮,该按钮仅在溢出时出现,并尽可能在没有 JS 的情况下实现这一点。
这是此解决方案的 100% 高度版本 - 因此,当内容试图占据超过整个页面时,您会得到一个“更多...”链接。这适用于所有浏览器。
http://jsfiddle.net/nottrobin/u3Wda/1/
我仅将 JavaScript 用于“添加另一行”控件 - 用于演示目的。实际解决方案中没有使用 JavaScript。
警告:
制作容器元素overflow: hidden
并给它一个max-height
. 然后把你的“更多”链接放在那个容器元素里面,position: absolute
所以它就在里面max-height
。现在,除非容器内的内容将容器推送到其max-height
.
如果你小心你line-height
的 s 那么你应该能够防止任何线条被切成两半。
示例:
足够的文本:http: //jsfiddle.net/nottrobin/MrAKv/17/
太多的文本:http: //jsfiddle.net/nottrobin/MrAKv/16/
较短的版本仅适用于支持的浏览器max-height
: http:
//caniuse.com/#search=max-height
如果您需要 IE6 支持,请使用这个稍微不那么简洁的解决方案:http:
//jsfiddle.net/nottrobin/MrAKv/18/
(免责声明 - 仅在 Google Chrome 中测试过)
这是一个固定高度的容器:http: //jsfiddle.net/NGLN/PC94w/