猿问

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

<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>外输入文本会另起一行。行内元素能嵌套块状元素吗?

努力往前
浏览 7504回答 2
2回答

敷衍成性i

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

风筝_0010

另起一行不是很正常么?li是块级元素会占据整个一行,你在li外输入文本当然会另起一行,行内元素内不能嵌套块级元素,就算你嵌套了也没有什么意义。
随时随地看视频慕课网APP
我要回答