有没有办法在不改变元素宽度的情况下使用“border-collapse: collapse”?
发生了什么:当我不使用 border-collapse 属性时,右/左边框看起来“粗体”,因为它们在一起。
如果我使用 border-collapse 属性,它解决了右/左边框在一起的“粗体”问题,但菜单的宽度比相同宽度的其他元素更大。
body {
background-color: #EEEEEE;
margin: 20px;
max-width: 1280px;
min-width: 768px;
}
header {
}
#menu {
display: table;
width: 100%;
border-collapse: collapse;
}
#menu ul {
display: table-row;
}
#menu li {
display: table-cell;
height: inherit;
border: solid 1px;
padding: 0;
margin: 0;
}
#menu li a {
font-family: sans-serif;
text-align: center;
display: block;
line-height: 1.2em;
text-decoration: none;
color: black;
}
#menu li a:visited {
color:black;
}
#menu li:hover {
background-color: white;
}
#main {
background-color: white;
height: 600px;
border: 1px solid;
border-top: none;
border-bottom: none;
}
footer {
background-color: white;
height: 200px;
border: 1px solid;
}
http://jsfiddle.net/wHDMn/3/ http://i.stack.imgur.com/UroWQ.png
最佳答案
据我所见,表格变大了一个像素。您可以使用 box-sizing: border-box
模型来解决这个问题。
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
关于html - border-collapse 改变元素的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20601252/