旗下网站

百科知识库

报道公司事件 · 传播行业动态

水平居中的多种方法

发布日期:2014-12-31    发布者:傅春波

  CSS导航菜单水平居中的多种方法:

  方法1:display:inline-block

  方法2:position:relative

  方法3:display:table

  方法4:display:inline-flex

  方法5:width:fit-content / width:intrinsic

  方法1:display:inline-block

  这个方法比较简单,是将容器转成「display:inline-block」行内块级元素,然后就可以直接用「text-align:center」使其达到水平居中效果。

  HTML代码:

  这里我们需要一个div来包围这个导航菜单。

  首页

  …

  CSS代码:

  给外面的div添加「text-align:center」,然后将菜单容器设成「display:inline-block」行内块级元素,菜单浮左「float:left」

  .navbar {

  text-align:center;

  }

  .navbar ul {

  display:inline-block;

  }

  .navbar li {

  float:left;

  }

  .navbar li + li {

  margin-left:20px;

  }

  这里浏览器兼容只能是IE8或更高版本,所以如果要兼容IE7的话,请加入以下代码

  .navbar ul {

  display:inline;

  zoom:1;

  }

  方法2:position:relative

  这是使用「position:relative」定位方法来让元素水平居中,我不是很推荐这方法,因为代码多了个div去包住,当然这些是根据情况来使用的。

  HTML代码:

  首页

  …

  CSS代码:

  将定位div设为浮动,再定位「left:50%」,然后导航定位至「left:-50%」,这方法很有意思吧。可能表达不是很清楚,自己看代码吧^^

  .navbar {

  overflow:hidden;

  }

  .navbar > div {

  position:relative;

  left:50%;

  float:left;

  }

  .navbar ul {

  position:relative;

  left:-50%;

  float:left;

  }

  .navbar li {

  float:left;

  }

  .navbar li + li {

  margin-left:20px;

  }

  如果要兼容IE7,请添加以下样式:

  .navbar {

  position:relative;

  }

  方法3:display:table

  如果你喜欢简洁的代码,哪么这个方法就非常适合你了。

  HTML代码:

  Home

  …

  CSS代码:

  .navbar {

  display:table;

  margin:0 auto;

  }

  .navbar li {

  display:table-cell;

  }

  .navbar li + li {

  padding-left:20px;

  }

  浏览器兼容:这方法代码精简,但不支持IE7及以下版本……

  方法4:display:inline-flex

  有关flex layout的知识自己查下吧>_<

  HTML代码:

  Home

  …

  CSS代码:

  .navbar {

  text-align:center;

  }

  .navbar > ul {

  display:-webkit-inline-box;

  display:-moz-inline-box;

  display:-ms-inline-flexbox;

  display:-webkit-inline-flex;

  display:inline-flex;

  }

  .navbar li + li {

  margin-left:20px;

  }

  浏览器兼容:不支持IE7及以下版本的IE浏览器。

  方法5:width:fit-content

  HTML代码:

  首页

  …

  CSS代码:

  .navbar {

  text-align:center;

  }

  .navbar > ul {

  display:-webkit-inline-box;

  display:-moz-inline-box;

  display:-ms-inline-flexbox;

  display:-webkit-inline-flex;

  display:inline-flex;

  }

  .navbar li + li {

  margin-left:20px;

  }

Copyright 大连网龙科技 版权所有 辽ICP备14006349号  html - txt - xml

辽公网安备 21021702000140号

电话
客服