【发布时间】:2022-01-23 08:34:50
【问题描述】:
使用 flexbox,我用填充和底部边框线设置了链接的样式,但边框线显示在标题线之外,如何让链接及其底部边框线完全位于标题内?
容器不应该自动调整以适应其内容吗?
* {
box-sizing: border-box;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: 1rem;
margin: 0px;
padding: 0px;
}
body {
display: flex;
flex-flow: column;
height: 100vh;
background-color: whitesmoke;
}
body>header,
body>footer {
flex: 0 0 auto;
background-color: white;
border-top: 1px solid lightgray;
border-bottom: 1px solid lightgray;
/* padding: 0.25rem; */
}
body>header .link {
color: blue;
border-bottom: 2px solid transparent;
outline: 0;
padding: 0.25rem;
text-decoration: none;
}
body>header .link:hover,
body>header .link:focus {
border-bottom: 2px solid blue;
}
body>header .link.title {
font-size: larger;
font-variant: small-caps;
}
body>main {
flex: 1 1 auto;
overflow: auto;
}
<body>
<header>
<a href="#" class="link title">One</a>
<a href="#" class="link">Two</a>
<a href="#" class="link">Three</a>
<a href="#" class="link">Four</a>
<a href="#" class="link">Five</a>
</header>
<main></main>
<footer>Footer</footer>
</body>
【问题讨论】: