【问题标题】:How to make the text align to center in nav bar如何使文本在导航栏中居中对齐
【发布时间】:2014-03-01 05:21:20
【问题描述】:

我正在使用纯 CSS 测试下拉导航栏。文本对齐不起作用,它只对齐下拉文本,左:50% 和右:50% 是的,它使文本居中,但导航栏不会覆盖我页面的宽度。请不要使用溢出:隐藏它会使下拉菜单不可见

JSFiddle

我想让文字像this 但由于溢出我看不到下拉菜单

CSS:

ul.dropdown, ul.dropdown li, ul.dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
ul.dropdown {
    position: relative;
    z-index: 597;
    background-color: black;
}
ul.dropdown li {
    float: left;
    min-height: 1px;
    line-height: 1.3em;
    vertical-align: middle;
}
ul.dropdown li.hover, ul.dropdown li:hover {
    position: relative;
    z-index: 599;
    cursor: default;
}
ul.dropdown ul {
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 598;
    width: 100%;
}
ul.dropdown ul li {
    float: none;
}
ul.dropdown ul ul {
    top: 1px;
    left: 99%;
}
ul.dropdown li:hover > ul {
    visibility: visible;
}
/* -- Base drop-down styling -- */
 ul.dropdown {
    font: normal 16px"Square", Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    width: 100%;
}
ul.dropdown li {
    padding: 7px 0;
    background-color: #000;
    color: #fff;
    line-height: normal;
}
ul.dropdown a:link, ul.dropdown a:visited {
    color: #fff;
    text-decoration: none;
}
ul.dropdown a:hover {
    color: #005CE6;
    text-decoration: none;
}
ul.dropdown a:active {
    color: #fff;
}
/* -- level mark -- */
 ul.dropdown ul {
    width: 170px;
    background-color: #333;
    color: #fff;
    font-size: 12px;
    text-transform: none;
    filter: alpha(opacity=90);
    -moz-opacity: .9;
    KhtmlOpacity: .9;
    opacity: .9;
}
ul.dropdown ul li {
    background-color: transparent;
    color: #000;
    filter: none;
}
ul.dropdown ul li.hover, ul.dropdown ul li:hover {
    background-color: transparent;
}
ul.dropdown ul a:link, ul.dropdown ul a:visited {
    color: #fff;
}
ul.dropdown ul a:hover {
    color: #fff;
    text-decoration: none;
}
ul.dropdown ul a:active {
    color: #fff;
}
/* -- Supporting class `dir` -- */
 ul.dropdown *.dir {
    padding-right: 12px;
    background-image: none;
    background-position: 100% 50%;
    background-repeat: no-repeat;
}
/* -- Base style extension -- */
 ul.dropdown li a {
    display: block;
    padding: 7px 14px;
}
/* -- Base style override -- */
 ul.dropdown li {
    padding: 0;
}
/* -- Base style reinitiate: post-override activities -- */
 ul.dropdown li.dir {
    padding: 7px 20px 7px 14px;
}
ul.dropdown ul li.dir {
    padding-right: 15px;
}
/* -- Custom -- */
 ul.dropdown ul a {
    padding: 4px 5px 4px 14px;
    width: 151px;
    /* Especially for IE */
}
ul.dropdown ul a:hover {
    background-color: #005CE6;
}
/* -- Drop-down open -- */
 ul.dropdown li:hover > a.dir {
    background-color: #2e2e2e;
    color: #005CE6;
}
ul.dropdown ul li:hover > a.dir {
    background-color: #76b900;
    color: #fff;
}
html {
    *overflow-x: hidden;
}
body {
    padding: 0;
}
body, html {
    height: 100%;
    padding: 0;
    margin: 0;
}
.wrapper {
    min-height: 100%;
    width: 100%
    overflow: hidden;
}
.container {
    padding: 50px;
}
.horizontal-centering {
    position: relative;
}
.horizontal-centering > * > * {
    float: left;
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
}
.horizontal-centering > * > * > * {
    float: left;
    position: relative;
}

【问题讨论】:

标签: html css


【解决方案1】:

删除您的ul.dropdown li 中的float: left;。在您的ul.dropdown 中添加text-align: center; 和在您的ul.dropdown li 中添加display: inline-block;

Fiddle Demo

ul.dropdown {
    position: relative;
    z-index: 597;
    background-color: black;
    text-align: center;
}
ul.dropdown li {
    display: inline-block;
    min-height: 1px;
    line-height: 1.3em;
    vertical-align: middle;
}

【讨论】:

  • 是的,没错,但是子菜单也是居中的
  • 谢谢你,它帮了很多忙。据我自己所知:1) 使用float:left 以这种方式居中按钮是不可能的,2) 使用inline-blocktext-align 来做float:left 通常完成的事情有float:left 没有的任何缺点' t?
猜你喜欢
  • 2019-02-23
  • 1970-01-01
  • 2020-02-21
  • 2021-11-06
  • 2013-10-04
  • 1970-01-01
  • 2012-06-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多