但到目前为止,我所有的尝试都产生了一个椭圆形:
Codepen to see it live 到目前为止的SCSS代码
$browser-context: 16;
@function em($pixels, $context: $browser-context) {
@return #{$pixels/$context}em;
}
body {
line-height: 1.6;
display: flex;
flex-direction: column;
min-height: 100vh;
font-family: 'PT Sans', sans-serif;
background: #e5dde1;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
.header-nav {
background-color: #ff4c61;
color: white;
font-family: 'Oswald', sans-serif;
}
.category-nav ul {
background-color: #212d5b;
color: #ff4c61;
display: flex;
justify-content: space-evenly;
}
.category-nav a {
font-size: em(34);
text-decoration: none;
}
.category-nav .circled {
border-radius: 50%;
width: em(12);
height: em(12);
padding: em(4);
border: em(1) solid #ff4c61;
}
HTML:
<header class="header-nav">
<h1> APP</h1>
</header>
<nav class="category-nav">
<ul>
<li><a href="#">A</a></li>
<li><a href="#">B</a></li>
<li><a href="#">C <span class="circled">3</span></a></li>
</ul>
</nav>
到目前为止,我一直在尝试不同的解决方案,我认为问题主要来自于数字的容器是内联元素(span)的事实。每当我将类.circled
转换为div而不是将显示设置为阻塞时,我会得到一个完美的圆圈但是数字被推出并且它会破坏弹性布局。我想知道是否有办法让圆圈与跨度一起工作?
答案 0 :(得分:3)
对于colors.html
课程,您需要添加以下样式:
.circled
答案 1 :(得分:2)
你可以把它变成一个内联块。将此添加到您的示例中对我有用:
display: inline-block;
line-height: em(12);
text-align: center;
答案 2 :(得分:0)
检查this答案以获取更多信息
$browser-context: 16;
@function em($pixels, $context: $browser-context) {
@return #{$pixels/$context}em;
}
body {
line-height: 1.6;
display: flex;
flex-direction: column;
min-height: 100vh;
font-family: 'PT Sans', sans-serif;
background: #e5dde1;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
.header-nav {
background-color: #ff4c61;
color: white;
font-family: 'Oswald', sans-serif;
}
.category-nav ul {
background-color: #212d5b;
display: flex;
justify-content: space-evenly;
}
.category-nav a {
color: #ff4c61;
font-size: em(34);
text-decoration: none;
}
.category-nav .circled {
border-radius: 50%;
width: em(12);
height: em(12);
padding: em(4);
border: em(1) solid #ff4c61;
}
.numberCircle {
display: inline-block;
border-radius: 50%;
behavior: url(PIE.htc);
/* remove if you don't care about IE8 */
width: 1em;
height: 1em;
padding: auto;
background: transparent;
border: 2px solid red;
color: red;
text-align: center;
font: 20px Arial, sans-serif;
}
&#13;
<header class="header-nav">
<h1> APP</h1>
</header>
<nav class="category-nav">
<ul>
<li><a href="#">A</a></li>
<li><a href="#">B</a></li>
<li><a href="#">C <div class="numberCircle">3</div></a></li>
</ul>
</nav>
&#13;