margin:0 auto 与 text-align:center 的区别

简介: 基本概念: 1.text-align: 属性规定元素中的文本的水平对齐方式;         该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式;        一般情况下设置文本对齐方式的时使用此属性。

基本概念:

1.text-align: 属性规定元素中的文本的水平对齐方式; 

       该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式;

       一般情况下设置文本对齐方式的时使用此属性。支持值 justify。

  Example: div { text-align: left; }  //文本居左对齐

  注释:所有浏览器都支持 text-align 属性;任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

2.margin 是设置对象四边的外延边距,被称为外补丁或外边距。

  Example: div { margin: 20px 10px 30px 40px; }  // 表示对象外边距,顶20px、右10px、下30px、左40px

区别如下:

1.text-align:center 设置文本或img标签等一些内联对象(或与之类似的元素)的居中。

2.margin:0 auto 设置块元素(或与之类似的元素)的居中。

这两个属性IE与FF的理解也有所不同。我们设置一个段落P,在段落内存在一个图片img标签。  

注意:

1.当设置body{text-align:center;}。 在IE中,段落P,图片img同时实现了居中对齐,也就是说text-align:center;同时作用于元素p与元素img。 在FF中,段落P,没有能实现居中对齐,而图片img实现了居中对齐,也就是说text-align:center;作用于img标签,而段落p标签没有起到居中的作用。

2.当设置段落 p {margin:0 auto;}。 在IE与FF中,段落P均实现了居中对齐。图片img由于不是作用对象,所以不会居中对齐。

有三种情况需要说明: 1.margin:0 auto;的选择器是作用对象,如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;}

知识点:块元素,内联元素的区别。

目录
相关文章
|
30天前
|
前端开发
content-box和border-box是什么?
content-box和border-box是什么?
64 0
CSS3【display: flex;】与【align-items: 侧轴对齐方式;】的使用
CSS3【display: flex;】与【align-items: 侧轴对齐方式;】的使用
77 0
|
前端开发
display:box、display:flex实现多行文本垂直居中
display:box、display:flex实现多行文本垂直居中
268 0
display:box、display:flex实现多行文本垂直居中
|
前端开发
CSS - 行内元素的 padding、margin、width、height、line-height 是否无效?
CSS - 行内元素的 padding、margin、width、height、line-height 是否无效?
503 0
CSS - 行内元素的 padding、margin、width、height、line-height 是否无效?
|
前端开发 JavaScript 容器
有趣的 box-decoration-break
有趣的 box-decoration-break
169 0
|
Web App开发 测试技术
|
JavaScript
style="visibility: hidden"和 style=“display:none”之间的区别
style=“display:none” 隐藏页面元素:   function removeElement() { document.getElementById("p1").style.display="none"; } Hello This is some text.
1249 0