我做了一个菜单,想要添加一个背景颜色到其中一个菜单项。在我添加了背景颜色之后,左边有一个小空间,没有被颜色覆盖。有人知道我怎么能填满整个空间吗?
这里有一个小提琴:https://jsfiddle.net/9crtzv6s/1/
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {
display: inline-block;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li>
<li><a href="#" class="slider-2">Menu</a>
</li>
<li><a href="#" class="slider-3">Menu</a>
</li>
<li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
发布于 2017-01-09 19:19:42
内联元素与列表项一样,对代码中的空白很敏感,所以要么删除空格,要么将显示设置为内联块,将列表项浮动。
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {
float: left;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li>
<li><a href="#" class="slider-2">Menu</a>
</li>
<li><a href="#" class="slider-3">Menu</a>
</li>
<li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
或
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {
display: inline-block;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li><li><a href="#" class="slider-2">Menu</a>
</li><li><a href="#" class="slider-3">Menu</a>
</li><li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
发布于 2017-01-09 19:22:30
您需要为.slider li-s定义.slider li-s。它将消除多余的差距:
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {
display: inline-block;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
float: left;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li>
<li><a href="#" class="slider-2">Menu</a>
</li>
<li><a href="#" class="slider-3">Menu</a>
</li>
<li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
发布于 2017-01-09 19:49:04
它与HTML代码中的空白有关,当元素被显示在内联块中时就会显示出来。
有几种方法可以摆脱它(你可能也想读https://css-tricks.com/fighting-the-space-between-inline-block-elements/ )
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {
display: inline-block;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li><!--
--><li><a href="#" class="slider-2">Menu</a>
</li><!--
--><li><a href="#" class="slider-3">Menu</a>
</li><!--
--><li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {
display: inline-block;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li><li>
<a href="#" class="slider-2">Menu</a>
</li><li>
<a href="#" class="slider-3">Menu</a>
</li><li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
font-size重置为0,在li上将其重置为正常
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
font-size:0
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {
display: inline-block;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li>
<li><a href="#" class="slider-2">Menu</a>
</li>
<li><a href="#" class="slider-3">Menu</a>
</li>
<li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
编辑
其他一些浮动或显示的方式
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
display:flex;
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {
display: inline-block;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li>
<li><a href="#" class="slider-2">Menu</a>
</li>
<li><a href="#" class="slider-3">Menu</a>
</li>
<li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
display:table;
}
.slider ul:after {
content:'';
display:table-cell;
width:100%;
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {
display: table-cell;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li>
<li><a href="#" class="slider-2">Menu</a>
</li>
<li><a href="#" class="slider-3">Menu</a>
</li>
<li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
float
.slider ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
border: 1px solid black;
width: 480px;
margin: 0 auto;
}
.slider li a {
display: block;
text-align: center;
padding: 16px;
text-decoration: none;
}
.slider li {float:left;
border-right: 1px solid black;
text-transform: uppercase;
font-size: 13px;
font-family: 'textaw00-heavyregular', 'AvenirNextLTW01', 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
text-transform: uppercase;
letter-spacing: 1px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
}
.slider li:last-child {
border-right: none;
}
.slider-3 {
background-color: green;
}<div class="slider">
<ul>
<li><a href="#" class="slider-1">Menu</a>
</li>
<li><a href="#" class="slider-2">Menu</a>
</li>
<li><a href="#" class="slider-3">Menu</a>
</li>
<li><a href="#" class="slider-4">Menu</a>
</li>
</ul>
</div>
https://stackoverflow.com/questions/41555276
复制相似问题