为什么 @media (min-width:960px){ #box>img{width:21%; } }的百分比不是25

为什么 @media (min-width:960px){ #box>img{width:21%; } }的百分比不是25

<!DOCTYPE html>

<html lang="en">

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

    <style>

        #box{

            width:80%;

            margin:0 auto;

            background: #ccc;

            text-align:center;

        }

        #box>img{

            display: inline-block;

            padding:1.5%;

            width:21%;

            height:200px;

        }

        /*此处写代码*/

        /* @media (min-width:960px) {

            #box>img{

                width: 25%;

            }

        }

        @media (min-width:780px)  and (max-width:959px){

            #box>img{

                width: 33.33333%;

            }

        }

        @media (min-width:440px)  and (max-width:779px){

            #box>img{

                width: 50%;

            }

        }

        @media (max-width:439px){

            #box>img{

                width:100%;

            }

        } */

        #box>img{

                width:100%;

            }

        @media (min-width:440px){

            #box>img{

                width:50%;

            }

        }

        @media (min-width:780px){

            #box>img{

                width:33.3333333%;

            }

        }

        @media (min-width:960px){

            #box>img{

                width:21%;

            }

        }

    </style>

</head>

<body>

    <div id="box">

        <img src="http://img1.sycdn.imooc.com/climg/5a45e49100014e5010601059.jpg" alt="">

        <img src="http://img1.sycdn.imooc.com/climg/5a45e53b00012e6d09940789.jpg" alt="">

        <img src="http://img1.sycdn.imooc.com/climg/5a45e53c0001d04e09940732.jpg" alt="">

        <img src="http://img1.sycdn.imooc.com/climg/5a45e49100014e5010601059.jpg" alt="">

        <img src="http://img1.sycdn.imooc.com/climg/5a45e53b00012e6d09940789.jpg" alt="">

        <img src="http://img1.sycdn.imooc.com/climg/5a45e53c0001d04e09940732.jpg" alt="">

    </div>

</body>

</html>




老师您好:

 @media (min-width:960px){

            #box>img{

                width:21%;

            }

        }

这里的width为25%时,功能不能实现,为什么?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2021-10-21 13:44:48

同学你好,解答如下:

1、图片设置了左右padding,该padding会增大图片的宽度

https://img1.sycdn.imooc.com//climg/6170fc68098751f905710177.jpg

如果将图片的width设置成25%,那么图片实际的宽度就超出25%了。

2、图片之间本身也会存在默认间隙:

https://img1.sycdn.imooc.com//climg/6170fe0c09d1fd8d10710371.jpg

https://img1.sycdn.imooc.com//climg/6170fe060935773107850311.jpg

上述两个原因,导致了图片的宽度不能设置成25%。

祝学习愉快!

  • 提问者 曼曼前端 #1

    这个百分比怎么算?

    2021-10-21 13:49:29
  • 好帮手慕久久 回复 提问者 曼曼前端 #2

    同学你好,解答如下:

    想让一行显示4张图片,则每个img实际占据的宽度不应该超过25%。由于设置了左右padding,左右padding和是3%:

    https://img1.sycdn.imooc.com//climg/6171149309bde22005000160.jpg

    所以图片的width就不能超过22%(25%-3%)。

    由于图片之间默认还有间隙,该间隙也会占用位置,因此图片的width就要小于22%(22%-间隙)。因此将图片的width设置成了21%。21%只是大概的数值,不是准确的,同学可以微调一下,只要能实现效果就行。

    祝学习愉快!

    2021-10-21 15:22:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师