如何在li元素之间设置相等的边距

时间:2015-04-19 08:07:37

标签: html css

我想在" Li"之间设置相等的边距。导航中的元素。 现在两者之间略有差异 左右边距如下图所示。

Here is a fiddle link

This is the problem:

这是css:

.nav {
  background-color: white;
  width: 100%;
  min-height: 29px;
  line-height: 26px;
  border-top: solid 1px #999;
  border-bottom: solid 2px #333333;
  font-weight: bold;
  position: relative;
  border: none;
  font-size: 15px;
  font-weight: normal;
}

.nav, .nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
  line-height: 2.5;
  /* font-size: 13px; */
  z-index: 100;
}

.nav li {
  float: left;
}

.nav a {
  background-color: white;
  text-decoration: none;
  display: block;
  z-index: 9999;
  padding-right: 5px;
  padding-left: 5px;
}

.nav ul a {
  /* border-right: 1px solid #333333; */
  text-indent: 4px;
  padding-left: 4px;
  padding-top: 4px;
  padding-bottom: 4px;
  width: 6.5em;
  line-height: 16pt;
}

.nav > ul > li > a {
  width: 6em;
}

3 个答案:

答案 0 :(得分:1)

.nav {
  background-color: white;
  width: 100%;
  border-top: solid 1px #999;
  border-bottom: solid 2px #333333;
  font-weight: bold;
  font-size: 15px;
  font-weight: normal;
}

.nav, .nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
  line-height: 2.5;
  /* font-size: 13px; */
  z-index: 100;
}

.nav li {
    display: inline;
    margin: 0 10px;
}

.nav li a {
  background-color: white;
  text-decoration: none;
  padding-right: 5px;
  padding-left: 5px;
}

根据需要添加样式的重置。 编辑:仅在必要时使用位置和z-index

fiddle

答案 1 :(得分:1)

删除<a>元素的宽度:

remove these lines

并添加:

.nav li {margin-right: 10px /* or whatever margin you want */}
.nav li:last-child {margin-right: 0}

答案 2 :(得分:0)

您可以尝试在导航类中添加word-spacing: 5px;

.nav {
  background-color: white;
  width: 100%;
  min-height: 29px;
  line-height: 26px;
  border-top: solid 1px #999;
  border-bottom: solid 2px #333333;
  font-weight: bold;
  position: relative;
  border: none;
  font-size: 15px;
  font-weight: normal;
  word-spacing: 5px;
}

希望这有帮助。