css 样式无法居中

html-css017

css 样式无法居中,第1张

使用列表的时候,当给li加上浮动float的话,就会发现text-align:center无效了,这是因为这里的li是区块元素,使用text-align是无效的,给lI加上宽高和背景颜色就可以看到效果了,这时ul要进行居中就只能用margin:0 auto才行。

如果实在不想使用margin这个居中的方法,可以把li的float去掉,使用display:inline可以把li变为内联元素,这时就可以使用text-align:center了。

你可以尝试下,希望帮助到你,有疑问可向我追问,尽我所能为你解答。

text-align:center

<CENTER>

您可能会认为

text-align:center

<CENTER>

元素的作用一样,但实际上二者大不相同。

<CENTER>

不仅影响文本,还会把整个元素居中。text-align

不会控制元素的对齐,而只影响内部内容。元素本身不会从一段移到另一端,只是其中的文本受影响。

页面实现大头贴功能,相框固定,照片可更换,类似下图。

其实我们可以拆分一下:相框.png是一张图片,金泰熙小姐姐照片.jpg是另一张图片,只要把相框.png叠在金泰熙小姐姐照片.jpg图片前面,那么就实现啦!

先上HTML结构:

相框为固定宽高,假设宽为300px,高为400px。

CSS样式如下:

那么问题来了,photo怎么居中?

试过的不成功解法:

1、把photo设为绝对定位,left:-50%,再设margin-left为负值。由于photo宽度不确定,因此margin-left具体值不确定。

2、宽度设为300px,图片变形。

3、把photo设为绝对定位,margin:auto,left:0,right:0。当box容器宽度小于photo时,该方法失效。

以上方法均无法实现居中后,想到如下可行办法:

HTML结构:

CSS样式:

给photo外加一个div容器photobox,给photobox设定一个足够宽的宽度,再将photobox相对box居中,然后再用text-align:center让photo相对于photobox居中。

photobox容器left值=(photobox容器宽 - box容器宽)/2