既然已经设定*的margin和padding为0了,为啥我这个one1到3的class还有用

既然已经设定*的margin和padding为0了,为啥我这个one1到3的class还有用

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title>margin外边距</title>

        <style type="text/css">

            * {

                margin: 0;

                padding: 0;

             }

            ul{

                list-style:none;width:300px;height:400px;

                background-color:pink;

                padding-top:40px;

            }

            li{

                width:200px;height:50px;background-color:yellow;

                /*margin:80px 40px 40px;*/

                

                

            }

           .one1{margin:80px 40px 40px}

            .one2{margin:40px;}

            .one3{margin-top:40px;

                  margin-left:40px;}

        </style>

    </head>

    <body>

        <ul>

            <li class="one1">HTML</li>

            <li class="one2">CSS</li>

            <li class="one3">JavaScript</li>

        </ul>

    </body>

</html>

一优先级来讲*应该是0,就是没用的效果,去了以后效果也变了按理说应该不变。

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

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

1回答
Steve007 2019-03-04 16:46:57

同学,这里*{ margin:0;padding:0 }的作用清除浏览器的默认设置,与同学设置的one1到3的class是没有关系的。当不写时,就会有浏览器的默认样式,致使效果发生变化。

祝学习愉快!

  • 提问者 花盖梨 #1
    *代表所有元素body内的所有是不,*{ margin:0;padding:0 }这么写的意思不就是body内的所有都是内外边距为0么?body内的元素内外元素不也没用么 .one1{margin:80px 40px 40px} .one2{margin:40px;} .one3{margin-top:40px; margin-left:40px;}. 为啥这三个.one1-3的这三个边距属性还有用?我是这意思
    2019-03-05 10:21:48
  • 提问者 花盖梨 #2
    案例中老师不是说为了防止块级元素的边距存在问题,要设置为0么,所以不就没用*{xxx}表示,他用的是body,p,h1,{margin:0px; padding:0px;}表示的么
    2019-03-05 10:27:07
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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