html - 列表和溢出的奇怪行为 : hidden

标签 html css internet-explorer google-chrome

问题: 如果使用溢出:隐藏在列表内的元素上(在“li”标签内),会发生一些奇怪的事情。

HTML:

<ul class="test">
    <li><a href="#">some text</a></li>
    <li><a href="#">some text</a></li>
    <li><a href="#">some text</a></li>
</ul>

CSS:

ul {
    list-style-position: outside;
}

a {
    display: block;
}

ul.test a {
    overflow: hidden;
}

有效结果:

valid result

在 IE 8-11 中的结果:

IE 8-11 result

链接后面有些空隙。

Chrome 中的结果:

chrome result

列表标记消失。

示例:http://jsfiddle.net/er1hsabb/2/

问题:怎么了?如何防止这种情况?

最佳答案

找到下一个解决方案:

  1. 隐藏标记
  2. 创建自己的标记使用 :before

添加的 CSS:

ul.test {
    list-style: none;
    padding-left: 0;
}

ul.test li {
    position: relative;
    padding-left: 40px;
}

ul.test li:before {
    content: "●";
    position: absolute;
    left: 20px; 
}

参见:http://jsfiddle.net/er1hsabb/6/

所有这些都适用于 Opera、FF、Chrome 和 IE 8+。

“标记”尺寸比默认值大,但它可能从 CSS 更改:http://jsfiddle.net/er1hsabb/7/

关于html - 列表和溢出的奇怪行为 : hidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25704847/

相关文章:

html - 叠加fontawesome图标输入IE

html - 显示在 y 轴上重复的背景图像?

css - Bootstrap collapsible 将元素推到下一列

html - 在 ie 7 的 <div> 内,在右边 float <span>,在左边 float rest(text)

javascript - 如何设置弹出窗口的标题?

python - 处理框架 - Python Webdriver

html - Linux busybox shell脚本html格式化

javascript - current_page_item 无法在 wordpress 中使用静态菜单

javascript - 初学者javascript,显示数组中的前一个数字并重置函数

javascript - JSON:所选选项在 IE 中不起作用,而在 Firefox 中有效