margin:0 auto与body{text-align:center;}实现元素居中的区别

我们设置某个对象水平方向居中的时候,常常将左右的外边距设置为auto来实现。如:div { margin: 0 auto; }
            body{text-align:center}与margin:0 auto的区别如下:
            1.text-align:center设置文本或img标签等一些内联对象(或与之类似的元素)的居中。
            2.margin:0 auto设置块元素(或与之类似的元素)的居中。
            这两个属性IE与FF的理解也有所不同。 我们设置一个段落 P ,在段落内存在一个图片 img 标签。  
            1.当设置body{text-align:center;}。得到下面的图片:
                        
g2007524164532.png
            
r2007524164537.png
            
在IE中,段落P,图片img同时实现了居中对齐,也就是说text-align:center;同时作用于元素p与元素img。
            
在FF中,段落P,没有能实现居中对齐,而图片img实现了居中对齐,也就是说text-align:center;作用于img标签,而段落p标签没有起到居中的作用。
            2.当设置段落 p {margin:0 auto;}。得到下面的图片
                        
9200752416466.png
            
12007524164610.png
            
在IE与FF中,段落P均实现了居中对齐。图片img由于不是作用对象,所以不会居中对齐。
            
有三种情况需要说明:
            
1.margin:0auto;的选择器是作用对象,如div,p,而不是body。如果设置:body { margin:0 auto;}将不会达到任何效果,除非你定义body的宽度,那将会让body内的元素产生位置变化。如我们设置body宽度为500px。对p段落不作任何设置,我们最大化窗口将会看到段落并非处于窗口的最左上角。
            
2.设置段落 p {text-align:center;} 将要实现的并不是段落本身的对齐方式,而是段落内元素居中对齐。
            
3.设置图片标签img {margin:0 auto;},就犯了一个小错误,img类于内联对象,不可以设置图片img标签的margin属性,如果一定要设置,那么先将它的属性转变为块元素,如下面的代码:img {display:block; margin:0 auto;}
            
如何使用:
            
1.如果页面中的元素,均位于div标签或其它 块元素内,进行了合理的嵌套,我们不必设置body{text-align:center}。只需要设置相应的div元素margin:0 auto;即可。如上面的代码所讲述,页面中的元素均位于段落p标签中,只需要将段落居中即可。
            
2.如果页面中的元素,有一部分不是在div标签或其它块元素内,我们需要设置body{text-align:center}。但也会遇到问题,这样设置以后,大部分内联元素,都居中对齐了,包括页面中其它的一些文本,还需要进行相应的调整才能适应设计的需要。如:我们设置body内有一个段落P,在段落内有一个图片img及一段文本,在body内还存在一个独立的图片img,看下面的图片
            
42007524164713.png
            
            
我们实现了段落p的居中,同时也让位于段落外的图片实现了居中,但段落中的图片与文本居中对齐了

转载于:https://www.cnblogs.com/dudu837/archive/2010/09/04/1818010.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值