欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

ul li 水平排列不断行和垂直居中问题,求解答,虚心求教。_html/css_WEB-ITnose

程序员文章站 2022-03-30 10:32:46
...
我现在在写一个导航栏,用ul水平平铺,但是现在遇到了一个问题,就是要使我用float:left,那么在浏览器里放大页面会发现导航栏会乱掉,要使用display: inline;和white-space: nowrap;可以实现水平平铺,而且在浏览器中放大页面不会乱,但问题来了,用display: inline;和white-space: nowrap;后,里面的文字无法垂直居中,我是将ul放在一个div里面了,div想要让ul文字和图片在div里面垂直居中,并且横向排列(IE9无法垂直居中,Chrome就可以),这让人很郁闷,而用float:left就可以垂直居中。
现在有没有什么办法,既可以让ul里面的东西水平平铺,垂直居中而且在浏览器里面方法后不乱的。
代码如下:
HTML:




导航栏
















CSS:
.container{height: auto;}
/**顶部菜单**/
.nav{ height:40px;background:url(../images/topbar_bg.gif) repeat-x; margin-top: 0px; padding-top: 0px;line-height: 40px;}
ul{list-style: none; white-space: nowrap;}
ul li{ margin: auto 20px; padding: 0; color: #BFBFBF;display: inline; height: 40px; }
.logo{}
.navleft{}
.navright{margin-right: }
a:link {color: #BFBFBF; text-decoration: none;} /* 未访问的链接 */
a:visited {color: #BFBFBF;border: none;} /* 已访问的链接 */
a:hover {color: #FFFFFF;border: none;} /* 当有鼠标悬停在链接上 */
a:active {color: #BFBFBF;border: none;} /* 被选择的链接 */
.menu_right{margin-left: 80px;}
.menu_left{widows: 1px; height: 40px;}
.delimiter{background:url(../images/delimiter.png); margin: 0px; padding: 0px; width: 2px; height: 35px;}

回复讨论(解决方案)

1、图片位置用

vertical-align:bottom;


调整。
2、字段位置用
line-height:30px;

调整。

谢谢2位,发现就是图片的问题,我图片的高度只有35像素。
我调整了图片的位置,不过没有用

vertical-align:bottom;

用的是
vertical-align: middle;
,但是还有一个问题,就是我现在突然发现我IE可以显示那个竖线的图片,但是Chrome怎么就显示出不出来啊?继续求教