出现改字体大小时,字会由原来的一行变为两行
例如:下面改字体大小前
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./reset.css">
<style>
body{
background-color: #bfa;
}
nav{
width:200px;
height:200px;
background-color: #fff;
margin:50px auto;
}
ul{
/* width:50px; */
height:100px;
/* overflow:hidden; */
}
a{
font-size:14px;
}
</style>
</head>
<body>
<nav>
<div></div>
<ul>
<li>
<a href="#javascript:;">谈星星谈星星谈</a>
</li>
<li>
<a href="#javascript:;">优秀优秀</a>
</li>
<li>
<a href="#javascript:;">1234567898546464641352222222222</a>
</li>
</ul>
</nav>
<span>优秀</span>
</body>
</html>
改字体大小后:
注意上面都没有对ul设置宽度的限制,所以li的宽度是ul的宽度,也是此题目中nav的宽度,所以,一旦超过这个宽度的时候,会自动换行一样(这里是由于a本来就是一个行内元素
但是,我如果把ul的宽度设置一下,会出现以下情况
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./reset.css">
<style>
body{
background-color: #bfa;
}
nav{
width:200px;
height:200px;
background-color: #fff;
margin:50px auto;
}
ul{
width:50px;
height:100px;
/* overflow:hidden; */
}
a{
font-size:50px;
}
</style>
</head>
<body>
<nav>
<div></div>
<ul>
<li>
<a href="#javascript:;">谈星星谈星星谈</a>
</li>
<li>
<a href="#javascript:;">优秀优秀</a>
</li>
<li>
<a href="#javascript:;">1234567898546464641352222222222</a>
</li>
</ul>
</nav>
<span>优秀</span>
</body>
</html>
注意观察上面图中,无论是ul的宽度是否设置,对于行内元素的内容是纯数字的情况下,那个会直接显示溢出的情况,不会像行内元素的内容是包含文字的那样,可能会出现换行的情况
但是,如果我们把最后一个a中的纯数字换为包含文字的内容时,会发现下面的效果
现在把a换为div一个块元素,然后让ul中的宽度分别设置为有和无的情况
ul中无宽度
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./reset.css">
<style>
body{
background-color: #bfa;
}
nav{
width:200px;
height:200px;
background-color: #fff;
margin:50px auto;
}
ul{
/* width:50px; */
height:100px;
/* overflow:hidden; */
}
.item{
font-size:50px;
}
</style>
</head>
<body>
<nav>
<div></div>
<ul>
<li>
<div class="item">谈星星谈星星谈</div>
</li>
<li>
<div class="item">优秀优秀</div>
</li>
<li>
<div class="item">1你234我56789它8546464641352222222222</div>
</li>
<li>
<div class="item">8546464641352222222222389389383988</div>
</li>
<li>
<div class="item">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
</li>
</ul>
</nav>
<span>优秀</span>
</body>
</html>
##ul中有宽度限制
特别注意的上上面的文字中,没有出现因为换行而导致字体重叠的现象,下面会给出因改变字体大小,而出现字体换行和重叠的现象
改变字体大小前
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>京东的左侧导航</title>
<link rel="stylesheet" href="./css/reset.css">
<style>
/* 设置body */
body{
/* 设置一个网页的背景,以使我们方便查看 */
background-color: #bfa;
}
/* 设置菜单外部容器 */
.left-nav{
/* 设置宽度 */
width: 190px;
/* 设置高度 */
height: 450px;
/* 设置padding */
padding: 10px 0;
/* 设置一个背景颜色 */
background-color: #fff;
margin: 50px auto;
}
/* 设置菜单内部的item */
.left-nav .item{
height: 25px;
/* 要让一个文字在父元素中垂直居中,只需将父元素的line-height设置为一个和父元素height一样的值 */
line-height: 25px;
/* 设置item的右内边距,将文字向内移动 */
padding-left: 18px;
/* 设置字体大小 */
font-size: 12px;
}
/* 设置/的距离 */
.item .line{
padding: 0 2px;
}
/* 为item设置一个鼠标移入的状态 */
.item:hover{
background-color: #d9d9d9;
}
/* 设置超链接的样式 */
.item a{
/* 设置字体大小 */
font-size: 14px;
/* 设置字体的颜色 */
color: #333;
/* 去除下划线 */
text-decoration: none;
}
/* 设置超链接的hover的样式 */
.item a:hover{
color: #c81623;
}
</style>
</head>
<body>
<!-- 创建一个外部的容器 nav(div) div(div) ul(li) -->
<nav class="left-nav">
<div class="item">
<a href="#">家用电器</a>
</div>
<div class="item">
<a href="#">手机</a><span class='line'>/</span><a href="#">运营商</a><span class='line'>/</span><a href="#">数码</a>
</div>
<div class="item">
<a href="#">电脑</a><span class='line'>/</span><a href="#">办公</a>
</div>
<div class="item">
<a href="#">家居</a><span class='line'>/</span><a href="#">家具</a><span class='line'>/</span><a href="#">家装</a><span class='line'>/</span><a href="#">厨具</a>
</div>
<div class="item">
<a href="#">男装</a><span class='line'>/</span><a href="#">女装</a><span class='line'>/</span><a href="#">童装</a><span class='line'>/</span><a href="#">内衣</a>
</div>
<div class="item">
<a href="#">美妆</a><span class='line'>/</span><a href="#">个护清洁</a><span class='line'>/</span><a href="#">宠物</a>
</div>
<div class="item">
<a href="#">女鞋</a><span class='line'>/</span><a href="#">箱包</a><span class='line'>/</span><a href="#">钟表</a><span class='line'>/</span><a href="#">珠宝</a>
</div>
<div class="item">
<a href="#">男鞋</a><span class='line'>/</span><a href="#">运动</a><span class='line'>/</span><a href="#">户外</a>
</div>
<div class="item">
<a href="#">房产</a><span class='line'>/</span><a href="#">汽车</a><span class='line'>/</span><a href="#">汽车用品</a>
</div>
<div class="item">
<a href="#">母婴</a><span class='line'>/</span><a href="#">玩具乐器</a>
</div>
<div class="item">
<a href="#">食品</a><span class='line'>/</span><a href="#">酒类</a><span class='line'>/</span><a href="#">生鲜</a><span class='line'>/</span><a href="#">特产</a>
</div>
<div class="item">
<a href="#">艺术</a><span class='line'>/</span><a href="#">礼品鲜花</a><span class='line'>/</span><a href="#">农资绿植</a>
</div>
<div class="item">
<a href="#">医药保健</a><span class='line'>/</span><a href="#">计生情趣</a>
</div>
<div class="item">
<a href="#">图书</a><span class='line'>/</span><a href="#">文娱</a><span class='line'>/</span><a href="#">电子书</a>
</div>
<div class="item">
<a href="#">机票</a><span class='line'>/</span><a href="#">酒店</a><span class='line'>/</span><a href="#">旅游</a><span class='line'>/</span><a href="#">生活</a>
</div>
<div class="item">
<a href="#">理财</a><span class='line'>/</span><a href="#">众筹</a><span class='line'>/</span><a href="#">白条</a><span class='line'>/</span><a href="#">保险</a>
</div>
<div class="item">
<a href="#">安装</a><span class='line'>/</span><a href="#">维修</a><span class='line'>/</span><a href="#">清洗</a><span class='line'>/</span><a href="#">二手</a>
</div>
<div class="item">
<a href="#">工业品</a>
</div>
</nav>
</body>
</html>
下面改变字体大小后,会出现换行以及字体重叠的现象
相比于之前只出现换行,而不出现重叠的情况,我个人认为是由于在第二个例子中,我们对a的父元素,也就是每一个div(item)设计了固定的高度导致的,具体是下面的这部分(当然,这是我个人的猜测,具体有待考证是否正确)
要想验证以上的猜测,我们可以把第一个例子的程序中,给li增加一个固定的高度,具体代码如下所示:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./reset.css">
<style>
body{
background-color: #bfa;
}
nav{
width:200px;
height:200px;
background-color: #fff;
margin:50px auto;
}
ul{
width:50px;
height:100px;
/* overflow:hidden; */
}
li{
height:20px;
}
.item{
font-size:50px;
}
</style>
</head>
<body>
<nav>
<div></div>
<ul>
<li>
<div class="item">谈星星谈星星谈</div>
</li>
<li>
<div class="item">优秀优秀</div>
</li>
<li>
<div class="item">1你234我56789它8546464641352222222222</div>
</li>
<li>
<div class="item">8546464641352222222222389389383988</div>
</li>
<li>
<div class="item">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
</li>
</ul>
</nav>
<span>优秀</span>
</body>
</html>