针对目前出现的一些问题的解释(自己理解,有待检验是否正确)

出现改字体大小时,字会由原来的一行变为两行

例如:下面改字体大小前

<!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>

在这里插入图片描述

貌似,我的想法是对的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值