为了账号安全,请及时绑定邮箱和手机立即绑定

为什么P元素width:0;height:0;但是仍然可以显示文字呢

rt 应该是什么原因呢  text类型的特殊性?

正在回答

3 回答

刚开始以为是因为p是行内元素的关系,设置width、height无效。但是设置display:inline-block,p的宽高变0后依然溢出文字。想起这是因为文字属于一个隐式的容器包裹。

因此可以看成父容器p没有被子容器文本撑起,但是子容器依然可见,只要给父容器p做一个BFC,比如overflow:hidden就好了。

2 回复 有任何疑惑可以回复我~
#1

HayVic 提问者

大概了解了 P本来就是个块状元素 我去看看BFC的内容
2016-07-08 回复 有任何疑惑可以回复我~
#2

墨宇

父容器p做一个BFC,就不可见了呢?原理是啥?
2016-07-28 回复 有任何疑惑可以回复我~
#3

IT自学

p元素默认状态下百分百是一个块级元素,怎么可能是行内元素,如果是行内元素,设置width和height均为0,怎么生效了,所以此回答错误。
2016-12-30 回复 有任何疑惑可以回复我~

字体是受font-size开控制的,元素的高度根据其填充内容的高度决定的

0 回复 有任何疑惑可以回复我~

对于一个块级元素,如果设置了width和height,并没有设置overflow,当文本内容过多时就会溢出

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p style="width:50px;height:50px;border:1px solid blue">我在慕课网学习jQuery基础(一)样式篇</p>
</body>
</html>

效果会是这样的

http://img1.sycdn.imooc.com//57d219360001a4af01330184.jpg

内容过多溢出了p标签,然后我给p标签设置overflow : hidden(这个属性值本意是对于溢出部分隐藏,也可以用来清除浮动)

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p style="width:50px;height:50px;overflow: hidden;border:1px solid blue">我在慕课网学习jQuery基础(一)样式篇</p>
</body>
</html>

效果如下

http://img1.sycdn.imooc.com//57d219ff000193c901390135.jpg

所以我们把width : 0 ; height : 0  (没有设置overflow : hidden)时候,p中的内容依旧可以看到,是全部溢出了,但其实p已经是属于不可见的了。那么我们对p再设置overflow : hidden 后所有的内容就隐藏了(因为全部内容都是溢出的)

新手理解,欢迎指正交流

9 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么P元素width:0;height:0;但是仍然可以显示文字呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信