老师帮我检查下代码,还有什么需要优化的吗?

老师帮我检查下代码,还有什么需要优化的吗?

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>2-3</title>
    <style type="text/css">
        /* 此处写代码*/
        *{padding: 0;margin: 0;border: 0;}
        .main{width: 300px;height: 200px;background: red;margin: 0 auto;}
        .pic{width: 0;height: 0;position: relative;margin-left: 100px;
             border-top: 20px solid transparent;
             border-left: 38px solid transparent;
             border-right: 38px solid transparent;
             border-bottom: 20px solid yellow;
             transform: rotate(-33deg);}
        .pic::before{content:""; width: 0;height: 0;display: block;
             border-top: 20 solid transparent;
             border-left: 38px solid transparent;
             border-right: 38px solid transparent;
             border-bottom: 20px solid yellow;
             position: absolute;left: -40px;top: -1px;
             transform: rotate(64deg);}
        .pic::after{content:""; width: 0;height: 0;display: block;
             border-top: 10px solid transparent;
             border-left: 10px solid transparent;
             border-right: 35px solid yellow;
             border-bottom: 10px solid transparent;
             position: absolute;top:-22px;left: -7px;
             transform: rotate(125deg);}
        .star_one{transform: translate(445px,-175px) scale(.7) rotate(-36deg);}
        .star_two{transform: translate(500px,-243px) scale(.3) rotate(-12deg);}
        .star_three{transform: translate(520px,-258px) scale(.3) rotate(25deg);}
        .star_four{transform: translate(510px,-270px) scale(.3) rotate(-32deg);}
        .star_five{transform: translate(490px,-290px) scale(.3) rotate(8deg);}
    </style>
</head>
<body>
    <!-- 此处写代码 -->
    <div class="main"></div>
    <div class="pic star_one"></div>
    <div class="pic star_two"></div>
    <div class="pic star_three"></div>
    <div class="pic star_four"></div>
    <div class="pic star_five"></div>
   
</body>
</html>

正在回答

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

5回答

你好,

1、左边距是根据浏览器左侧进行显示的,间距是固定的,位置也就是固定的。

2、把五角星放在main容器之后需要重新调整平移的位置,现在五角星显示在屏幕以外:

http://img1.sycdn.imooc.com//climg/5ce3d5f90001ec0209080249.jpg

可以调整一下定位:

http://img1.sycdn.imooc.com//climg/5ce3d6390001c5bd07750776.jpg

自己测试下,祝学习愉快!

提问者 原来是晓琪_ 2019-05-21 14:10:47

q1老师为什么变成固定外边距就可以了呢?

q2我把五角星放main中不显示怎么菲斯?

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>2-3</title>
    <style type="text/css">
        /* 此处写代码*/
        *{padding: 0;margin: 0;border: 0;}
        .main{width: 300px;height: 200px;background: red;margin:0 auto;position: relative;z-index: 1;}
        .pic{width: 0;height: 0;position: relative;margin-left: 100px;
             border-top: 20px solid transparent;
             border-left: 38px solid transparent;
             border-right: 38px solid transparent;
             border-bottom: 20px solid yellow;
             transform: rotate(-33deg);z-index: 99;}
        .pic::before{content:""; width: 0;height: 0;display: block;
             border-top: 20 solid transparent;
             border-left: 38px solid transparent;
             border-right: 38px solid transparent;
             border-bottom: 20px solid yellow;
             position: absolute;left: -40px;top: -1px;
             transform: rotate(64deg);z-index: 99;}
        .pic::after{content:""; width: 0;height: 0;display: block;
             border-top: 10px solid transparent;
             border-left: 10px solid transparent;
             border-right: 35px solid yellow;
             border-bottom: 10px solid transparent;
             position: absolute;top:-22px;left: -7px;
             transform: rotate(125deg);z-index: 99;}
        .star_one{transform: translate(445px,-175px) scale(.7) rotate(-36deg);}
        .star_two{transform: translate(500px,-243px) scale(.3) rotate(-12deg);}
        .star_three{transform: translate(520px,-258px) scale(.3) rotate(25deg);}
        .star_four{transform: translate(510px,-270px) scale(.3) rotate(-32deg);}
        .star_five{transform: translate(490px,-290px) scale(.3) rotate(8deg);}
    </style>
</head>
<body>
    <!-- 此处写代码 -->
    <div class="main">
    <div class="pic star_one"></div>
    <div class="pic star_two"></div>
    <div class="pic star_three"></div>
    <div class="pic star_four"></div>
    <div class="pic star_five"></div>
    </div>
</body>

</html>

http://img1.sycdn.imooc.com//climg/5ce396600001ef1113660768.jpg

好帮手慕星星 2019-05-20 19:09:56

你好,在大分辨率电脑上显示如下:

http://img1.sycdn.imooc.com//climg/5ce28a92000128c819200282.jpg

是因为main盒子相对于水平方向上居中显示的,但是五角星是相对于页面左侧进行定位的,可以调整为固定的margin-left值:

http://img1.sycdn.imooc.com//climg/5ce28af70001d95503970223.jpg

或者把五角星放在main容器中进行设置。

祝学习愉快!

提问者 原来是晓琪_ 2019-05-17 16:26:26

老师这是我这边显示的结果

http://img1.sycdn.imooc.com//climg/5cde700300013b0b13660768.jpg

  • 同学的代码虽然实现了效果,但是由于html布局不合理,会导致在分辨率不同的电脑上,显示效果不同,老师给出的方法,在不同分辨率的电脑上显示也是可以的,祝学习愉快!
    2019-05-17 16:32:08
  • 提问者 原来是晓琪_ 回复 卡布琦诺 #2
    老师可以指导下我哪布局不合理吗 具体一下 谢啦
    2019-05-20 12:57:37
卡布琦诺 2019-05-17 16:21:47

这边显示效果如下图所示,出现的原因是代码书写的不合理导致的

http://img1.sycdn.imooc.com//climg/5cde6dc800013f9907520349.jpg

建议参考:

http://img1.sycdn.imooc.com//climg/5cde6ec90001203a04770186.jpg

http://img1.sycdn.imooc.com//climg/5cde6efb000150be05800723.jpg

http://img1.sycdn.imooc.com//climg/5cde6f13000138aa08090788.jpg

希望可以帮到你!


  • 提问者 原来是晓琪_ #1
    那老师为什么在我这边是正常显示呢?还有就是我是取值方面有问题吗?
    2019-05-17 16:25:29
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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