天天看点

Drupal 7 建站学习手记(五):HTML文档流overflow的问题

项目要求网站首页放views生成的区块,并且要求有<code>更多</code>链接。

views生成的区块默认的<code>更多</code>链接只能选在列表上方和下方

下图是默认在上方的样式图:

Drupal 7 建站学习手记(五):HTML文档流overflow的问题

为了美观,我将<code>更多</code>链接上移了若干个像素:

效果图:

Drupal 7 建站学习手记(五):HTML文档流overflow的问题

然而,当我在这个区块外面再套一层区块时,

(比如我这里用了<code>quicktabs</code>模块,实际上是一个嵌套区块)

这个<code>更多</code>链接怎么都不显示了:

Drupal 7 建站学习手记(五):HTML文档流overflow的问题

第一反应是z-index的问题,设了z-index还是不显示

google一下,觉得有可能是<code>position: relative</code>的问题

将其所有父<code>div</code>标签全部加上<code>position: relative</code>属性,仍然不显示

真是百思不得其解

纠结了很久以后,最终将目标锁定在了父<code>div</code>标签的<code>overflow: hidden</code>属性上

css <code>overflow</code>属性的定义:

描述

visible

默认值。内容不会被修剪,会呈现在元素框之外。

hidden

内容会被修剪,并且其余内容是不可见的。

scroll

内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。

auto

如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

inherit

规定应该从父元素继承 overflow 属性的值。

<code>quicktabs</code>模块的外层区块使用了<code>overflow: hidden</code>属性

内层元素“溢出”时,内容被div修剪掉了。

它的本意可能是为了不让内层的区块超出外层区块的大小,而打乱整个html文档流。

但是我这里的需求恰好就是要让内层的元素“溢出”来。

将<code>quicktabs</code>外层区块div元素的<code>overflow: hidden</code>改为<code>visible</code>就行了:

Drupal 7 建站学习手记(五):HTML文档流overflow的问题

问题解决!

本文首发,转载请注明。