日期:2014-05-17  浏览次数:20720 次

怎么是浮动的div水平居中啊?
http://primetouchandfeel.com/这个地址上有一个字样为prime touch and feel的图片,我希望这个图片在home的下方,浮动在menu下的slider上。
我是这样的想的,我把image放在一个宽度为1085px的div(id=float_logo)中,image在这个div中靠左对齐,id=float_logo的div在父div中水平居中,结果不是我想的这样,id=float_logo的div是靠左对齐的。
我应该怎么做呢
div float

------解决方案--------------------
left: width / 2 = 542px;

#float_logo {
  height: 49px;
  left: 542px;
  position: absolute;
  text-align: left;
  top: 5px;
  width: 1085px;
  z-index: 101;
}

------解决方案--------------------


结果不是我想的这样,id=float_logo的div是靠左对齐的。

由于你采用的是绝对定位 ,必须 使用 left  跟 top  来对他的位置进行定位了。
------解决方案--------------------
用绝对定位 没什么不对呀。外层相对定位,里面的元素绝对对位 精确布局 ,很流行的方式嘛。你这个最好就按照绝对定位来吧
------解决方案--------------------
这里最好的方式就是用绝对定位了,另外一种方式就是用相对定位,然后把它的top设成负值,但是这两种方式绝对定位更好一点,毕竟相对定位会有一定的副作用。

这里之所以只能用定位是因为该元素的父元素有多个节点,如果只有一个元素的话则可以通过设置line-height和父元素的高度一样的方式来达到水平居中。关于垂直居中的文章参考:http://www.blueidea.com/tech/web/2006/3231.asp
------解决方案--------------------
写个table将id=float_logo的div套住并设置为居中就好了,对齐神马的最好用table
------解决方案--------------------
如果没有用定位的话,可以设置DIV的align="center"或者设置父DIV的text-align='center'