gpt4 book ai didi

css - 子边框低于父边框

转载 作者:行者123 更新时间:2023-11-28 11:09:28 25 4
gpt4 key购买 nike

当我注意到一个我无法解释的例子时,我正在查看一些列表的例子。这是我正在查看的网站http://css.maxdesign.com.au/listamatic/horizontal05.htm这是它的代码:

<div id="navcontainer">
<ul id="navlist">
<li id="active"><a href="#" id="current">Item one</a></li>
<li><a href="#">Item two</a></li>
<li><a href="#">Item three</a></li>
<li><a href="#">Item four</a></li>
<li><a href="#">Item five</a></li>
</ul>
</div>
#navlist {
padding: 3px 0;
margin-left: 0;
border-bottom: 1px solid #778;
font: bold 12px Verdana, sans-serif;
}
#navlist li {
list-style: none;
margin: 0;
display: inline;
}
#navlist li a {
padding: 3px 0.5em;
margin-left: 3px;
border: 1px solid #778;
border-bottom: none;
background: #DDE;
text-decoration: none;
}
#navlist li a:link {
color: #448;
}
#navlist li a:visited {
color: #667;
}
#navlist li a:hover {
color: #000;
background: #AAE;
border-color: #227;
}
#navlist li a#current {
background: white;
border-bottom: 1px solid white;
}

我没有得到的是父 #navlist 元素的填充被设置为 3px,而列表项仍然直接位于其边框,就像它具有 0px 的填充一样。当我设置以下内容时:

#navlist {
padding: 0;
}

列表项的边框低于#navlist 元素的边框。为什么会这样,它不应该在#navlist 边框上方 1px 吗?我找不到解释此行为的规则?

最佳答案

垂直填充对行内元素的作用不同。考虑这个例子:

Padding Demo

青色区域代表父元素,而黄色区域代表带内边距的 block /内联元素。请注意,内联元素的顶部和底部内边距不会影响父元素的高度;如有必要,它会在父级外部呈现。

下面是 Eric Meyer 的选项卡式导航栏示例的分割:

  • 有一个垂直填充为 3px 的列表
  • 这个列表包含一个 14px 高的行框,它由内联列表项组成
  • 列表项包含带有 3px 垂直填充的链接(此填充使选项卡按钮看起来更宽、更高和更好看)

如上所述,垂直填充不会向下移动行框,而是在 有意 添加的 3px 填充之上绘制行框外部的填充。结果是像素完美的选项卡菜单。

关于css - 子边框低于父边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25472856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com