div标签不设置width的话默认是100%吗
如果我把div设置一个固定的宽度,里面的p设置50%,然后不设置margin:0 auto,而是设置align:center,这样为什么不可以实现居中效果呢
<div><p></p></div>
正在回答
同学你好,应该是老师没有看明白同学的意思QAQ, 你的理解是对的哦。另外,选择器理解的也是对的,选择器直接加空格,就表示后代选择器。例如 div p ,则表示选择div的后代p。伪类选择器也是一样的,之前的同学说的没有问题哦。
祝学习愉快~
同学你好,问题解答如下:
1.理解的是不对的。margin:0 auto才是让元素在父容器中居中,而text-align 属性规定元素中的文本的水平对齐方式。所以text-align: center让p里面的文本在p中居中,这里再重新记一下。
2. 区别参考如下:
(1)text-align是css样式,如果写在元素标签中,需要放在style中。align是元素的属性,直接放在元素标签中。示例:
(2)作用是,text-align是设置文本对齐方式,也可以设置行内元素(内联元素)对齐方式。对块元素不起居中作用。例如上面的例子中,给div设置文本居中,p是块元素不会居中的。但是p会继承父元素的text-align样式(文本相关的样式子元素都可以基础,例如字体颜色,大小等),所以p里面的文本会居中。
align是设置元素中的内容对齐方式的,和text-align相似。区别就是可以让块元素居中,所以上面第二个代码示例中,p和文本都可以居中。自己可以练习一下,在浏览器查看效果,就能直观的理解它们的区别了:
但是注意align属性的兼容性不好,推荐使用text-align代替align。如果是块元素设置居中,可以使用margin:0 auto。
祝学习愉快~
同学你好,问题解答如下:
1.div宽度默认相对父元素100%显示。例如在body中写一个div,body宽度默认相对浏览器100%显示,那么div宽度也是100%。如果body宽度手动改为1000px,那么这个div默认宽度也是1000px。
2.设置 text-align: center是让p里面的内容在p中居中。而p元素设置了宽度50%,它本身宽度就不是相对浏览器100%显示的,所以内容虽然在p里面居中了,但是在整个页面上看,没有水平居中。
文字在p中是居中的,但是p的宽度本身比页面宽度小,所以内容没有在页面中居中:
文字想要在页面中居中,光给div设置margin:0 auto是不够的,如下:
设置margin:0 auto是让div在页面中居中了,但是因为p的宽度是父元素宽度的一半,文字虽然在p中居中,但是在div中没有居中。即相对整个页面来看,文字依旧无法居中。
只有把p的宽度50%去掉,让它默认与父元素div宽度相同,文字就真正居中了:
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星