HTML/CSS : please help explain this padding to me

标签 html css menu

在这里学习 html/css。我正在尝试向我的 .menu ul li ul li

添加边框底部
.menu ul li ul li{
padding:0;
float:none;
margin:0 0 0 0px;
width:100%;
border-bottom: 1px solid #911;
}

但是由于这种样式的右侧填充,边框在右侧被切断了:

.menu ul li ul{
position:absolute;
right: 0px;
border:1px solid #911;
/*box-shadow*/
-webkit-box-shadow:0 1px 5px #CCCCCC;
   -moz-box-shadow:0 1px 5px #CCCCCC;
        box-shadow:0 1px 5px #CCCCCC;
margin-top:0px;
display:none;
padding:0px 16px 0px 0px;
}

我很困惑为什么需要 16px 的右填充...当我删除右填充时,我的下拉菜单不再正确显示(边框关闭,当您下拉菜单时它会向右扩展并导致出现滚动条)。

下拉菜单左下角的边框也缺少空格,知道为什么会这样吗?

http://jsfiddle.net/vJaaR/

非常感谢!我非常感谢任何见解。

最佳答案

如果您使用 100% 的宽度并且还应用了边框、填充或边距,那么您的内容将大于 100%。

例如,如果您的页面宽度为 900 像素宽。

900px 的 100% 是 900。 如果您在左侧和右侧应用 16 像素的填充,则会增加 32 像素。 如果您应用 1 像素的边框,那就是另外 2 像素。 如果您在左侧和右侧添加 10 像素的边距,那就是另外 20 像素。

当你全部加起来时,你的元素的宽度将是:

900 + 32 + 2 + 20 = 954

更新
如果您有 block 级元素 (display: block),则无需将宽度指定为 100%。如果您告诉它具有特定的内边距、边距和边框,那么宽度将占据剩余的空间 (width: auto)。

关于HTML/CSS : please help explain this padding to me,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8159891/

相关文章:

css - 为什么这个 CSS 立方体 3d 菜单在我的苹果上运行良好,但在我的电脑上却出错了?

CSS 下拉菜单 - 如何添加缩略图

javascript - 如果有多个div具有相同的函数,如何使用函数调用div的属性值?

javascript - 您如何通过单击链接转到网站的特定部分?

html - 元素中的不透明度和 z-index

html - 互相转移方 block

javascript - iframe设置内容

javascript - CSS 过渡动画未应用于内联 svg <text> 但在 <rect> 上它工作正常吗?

php - 设计比赛支架 - 不能很好地组合在一起

css - 如何在固定菜单上创建透明的当前状态槽口?