css - 从我的水平列表菜单中减去边框宽度

标签 css list

这是我的水平菜单的 CSS 代码,它是跨浏览器的,效果很好,但有 1 个小故障。 :)

包裹所有内容的 #menu 必须具有 100% 的宽度,但是当我在其上放置边框时,边框会增加宽度,使其变大并搞砸我的布局。 我所做的是使用 jquery 减去 2 像素边框。有没有办法用 css 做到这一点?

这是菜单的CSS:

#menu {
width: 100%;
margin: 0 0 1em 0;
padding: 0.5em 0 0 0;
border-right: solid 1px #555;
border-left: solid 1px #555;
border-bottom: solid 1px #555;
}
#menu ul {
margin: 0 0 0 0.5em;
padding: 0;
list-style-type: none;
}
#menu li {
margin: 0;
padding: 0;
float: left;
width: 20%;
line-height: 1.5em;
margin-right: 1em;
margin-bottom: 0.5em;
background: url(images/headline.jpg) top repeat-x;
border: solid 1px #555;
text-align: center;
}
#menu a {
display: block;
width: 100%;
font-size: 70%;
text-decoration: none;
}
#menu a:hover {
background: #000 none;
}

一些注意事项: 菜单必须由用于设置背景颜色、左边距/填充等样式的 div 包裹。我发现无法设置 UL 本身的样式,因为我无法清除其中的 float 。因此,OL 的高度始终为零。

非常喜欢!

最佳答案

使用outline 代替border。它以相同的方式创建“边框”,只是将它们放在框架的内部,而不是像 border 那样放在外部。

关于css - 从我的水平列表菜单中减去边框宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6554560/

相关文章:

javascript - 如何在 View 中正确渲染 Backbone Collection?

CSS Sprite 而不是图像?

python - 使用列表中其他值的函数过滤 python 中的列表。

复制指向函数中结构体的指针(链表)

c# - 检查字符串的单词是否存在于字符串列表中

c++:通过索引从列表中获取对象不起作用?

jQuery改变HTML元素的样式

html - 在悬停 CSS 上调整 Div 大小

html - CSS:链接悬停在 Chrome 和 Safari 中不起作用

r - 将包含不规则项目的 1 级列表转换为数据框