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

ul和li为块状元素,设置了ul为行内元素,行内元素能嵌套块状元素?

ul和li为块状元素,设置了ul为行内元素,行内元素能嵌套块状元素?

努力往前 2017-05-17 20:30:15
<html><head><meta charset="utf-8"><title>不定宽块状元素水平居中</title><style>.container{text-align:center;}.container ul{list-style:none;margin:0;padding:0;display:inline;}.container li{margin-right:8px;display:inline;}</style></head><body><div class="container">    <ul>    <li><a href="#">1</a></li>        <li><a href="#">2</a></li>        <li><a href="#">3</a></li>    </ul></div></body></html>若把.container li{margin-right:8px;display:inline}这代码去掉,ul设置了行内元素,为什么在<ul>标签内,<li>外输入文本会另起一行。行内元素能嵌套块状元素吗?
查看完整描述

2 回答

?
敷衍成性i

TA贡献1条经验 获得超0个赞

         肯定是不能的,因为块元素内可以嵌套块元素或者行内元素,例如ul标签内的li标签之中还可以嵌套块元素p标签,但是反过来行内元素内是不能嵌套块元素的,你设置了ul标签为行内元素,那它就具备了行内元素应有的特性,不再单独占一行,也不能给它设置宽和高了(纯属我的废话)!再说句题外话,如果你想让ul标签变成行内元素,又想让它里面嵌套块元素,你就应该将ul标签设置成为inline-block,这样它就具备了两者的特征!


查看完整回答
反对 回复 2017-11-22
?
风筝_0010

TA贡献45条经验 获得超15个赞

另起一行不是很正常么?li是块级元素会占据整个一行,你在li外输入文本当然会另起一行,行内元素内不能嵌套块级元素,就算你嵌套了也没有什么意义。

查看完整回答
反对 回复 2017-05-17
  • 努力往前
    努力往前
    ul已经设置了显示为行内元素,ul的子元素li仍然是块状元素,<ul>内、<li>外输入内容,为什么不是行内元素的表现方式?然而是另起一行,表现为块状元素。是不是.container ul{display:inline;}并没有作用?必须设置了li为行内元素,上面代码才起作用?
  • 风筝_0010
    风筝_0010
    因为display没有继承性,所以ul设置为inline了,但是li并不会继承inline,还是保持着自己的block性质,li是block的话,它就会占据整个一行,输入的内容自然会另起一行啊,你打开f12看看,会发现ul没有任何高度和宽度
  • 努力往前
    努力往前
    你说的意思就是,<ul>的内容属性跟<li>有关,不管是在<li>内还是<li>外是吗?我一直以为在块状元素标签内才是表现块状元素的特征。。
点击展开后面2
  • 2 回答
  • 0 关注
  • 7503 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信