关于css中浮动float的问题:制作横向菜单栏时,

html-css08

关于css中浮动float的问题:制作横向菜单栏时,,第1张

浮动都是相对于自身的父元素而言的。打个比方,一个集装箱里放着好多纸箱,纸箱里装着一件件货物,这些货物在纸箱里的排列状况是不会影响到纸箱在集装箱里的排列的,同样,纸箱在集装箱里的排列状况也是不会影响到货物在每个纸箱里的排列的。关键要看你的目的是什么,如果是想让纸箱在集装箱里排列得更整齐些,那么你只需要移动纸箱即可,用不着动里面的货物;而如果是想整理一下纸箱里的货物,那么就只需打开纸箱对货物进行整理即可,不需要移动纸箱的位置。

给你的容器#containner设置一个宽度,然后使用语句margin:0 auto其实就可以了。但可能IE6不支持自动空白边。你的body里的text-align:center原意是让文本居中,但IE将text-align:center理解成让所有的东西都居中,包括div标签;这是原理,下面我在你代码的基础上修改如下(测试可用):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>无标题文档</title>

<style type="text/css">

body *

{

margin:0px

padding:0px

text-align:center

}

#containner

{

width:500px

margin:0 auto

position:relative

background-color:#F4FFFF

/*top:0px*/

/*left:0px*/

}

#banner2

{

width:100%

height:100%

float:left

/*margin-left:0px*/

/*margin-top:0px*/

/*padding:0px*/

font-size:18px

}

#banner2 li

{

width:15.64%

height:100%

margin:1px

/*text-align:center*/

float:left

display:block

text-decoration:none

border-bottom-style:outset

border-right-style:outset

}

#banner2 li a

{ height:100%

color:#3399FF

text-decoration:none

display:block

/*text-align:center*/

/* margin-left:0px*/

padding:2px

background:#DDF4FF

}

#banner2 li a:hover

{

background:#005279

color:#FF6600

}

</style>

</head>

<body>

<div id="containner">

<ul id="banner2" >

<li><a href="#">首页</a></li>

<li><a href="#">你好</a></li>

<li><a href="#">嘿嘿</a></li>

<li><a href="#">美女</a></li>

<li><a href="#">生活</a></li>

<li><a href="#">自信</a></li>

</ul>

</div>

</body>

</html>

有很多细节,如body后的*,通配选择符。为#containner增加了宽度设定,为ul标签设置了id"banner2",取消了原来的div等,你自己比较下。我用FireFox和IE8测试了,效果都出来了。你可再用IE6试试 。还有其它居中的方法,如定位和负值空白边(负值外边距)等,这需要你对CSS更深的认识。

基础不扎实,你对浮动的理解恐怕是错的。

你没发html结构出来,不知道有没问题,按你这个图来说正确的html结构应该是这样:

<div id="red">

<div>绿框,左浮动</div>

<div>篮框,左或右浮动皆可</div>

<div>黄框,绝对定位放到红框左上位置,z-index低值使其退到绿框下面</div>

</div>

<div>黑框,宽度100%</div>

id="red" 那个红框要有相对定位属性

同时这个红框里面有浮动元素,要清理浮动,否则红框会失去高度,不能把黑框挤到底部正确的位置。