首页 > 代码库 > Drupal 7 建站学习手记(五):HTML文档流overflow的问题
Drupal 7 建站学习手记(五):HTML文档流overflow的问题
背景
项目要求网站首页放Views生成的区块,并且要求有更多
链接。
Views生成的区块默认的更多
链接只能选在列表上方和下方
下图是默认在上方的样式图:
为了美观,我将更多
链接上移了若干个像素:
.more-link { position: absolute; top: 10px; left: 390px; }
效果图:
问题
然而,当我在这个区块外面再套一层区块时,
(比如我这里用了QuickTabs
模块,实际上是一个嵌套区块)
这个更多
链接怎么都不显示了:
探究
第一反应是z-index的问题,设了z-index还是不显示
Google一下,觉得有可能是position: relative
的问题
将其所有父div
标签全部加上position: relative
属性,仍然不显示
真是百思不得其解
纠结了很久以后,最终将目标锁定在了父div
标签的overflow: hidden
属性上
CSS Overflow
属性的定义:
值 | 描述 |
---|---|
visible | 默认值。内容不会被修剪,会呈现在元素框之外。 |
hidden | 内容会被修剪,并且其余内容是不可见的。 |
scroll | 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。 |
auto | 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。 |
inherit | 规定应该从父元素继承 overflow 属性的值。 |
QuickTabs
模块的外层区块使用了overflow: hidden
属性
内层元素“溢出”时,内容被div修剪掉了。
它的本意可能是为了不让内层的区块超出外层区块的大小,而打乱整个HTML文档流。
但是我这里的需求恰好就是要让内层的元素“溢出”来。
解决
将QuickTabs
外层区块div元素的overflow: hidden
改为visible
就行了:
.block-quicktabs .content { overflow: visible; }
效果图:
问题解决!
本文首发http://www.dss886.com/drupal/2014/05/05/04/,转载请注明。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。