css多列li元素水平居中效果

antzone發表於2017-04-11

分享一段程式碼例項,它實現了讓多列li元素水平居中效果。

這裡的水平居中其實也就是li元素均勻分佈效果。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!doctype html><html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
* {
  margin: 0;
  padding: 0;
}
.main {
  width: 1180px;
  height: auto;
  margin: 100px auto;
  border: 1px solid #f00;
  overflow: hidden;
}
.main ul {
  width: 1200px;
  list-style: none;
  margin: 0 auto;
}
.main ul li {
  width: 280px;
  height: 200px;
  margin-right: 20px;
  margin-top: 20px;
  background: #f00;
  float: left;
}
</style>
</head>
<body>
<div class="main">
  <ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
  </ul>
</div>
</body>
</html>

上面的程式碼實現了我們的要求,下面簡單介紹一下它的實現原理。

設定ul元素的寬度等於li元素的寬度和加上外邊距的值,假定這個值用w來表示。

ul的父元素的寬度是w-margin-right(20px),並且此父元素具有overflow:hidden屬性,那麼超出的外邊距就會被隱藏。

相關文章