请老师优化代码并且解答关于<img>和居中的几个问题

请老师优化代码并且解答关于<img>和居中的几个问题

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
    /*此处写代码*/
    *{
        margin:0;
        padding:0;
    }
    img{
        display:block;
    }
    .container{
        margin:100px 0;
    }
    
    .header{
        width:100%;
        height:100px;
        background-color:#000;
        position:fixed;
        line-height:100px;
        font-size:20px;
        top:0px;
        
    }
    .banner1{
        background-repeat:no-repeat;
        width:100%;
        
    }
    .banner2{
        background-repeat:no-repeat;
        width:100%;
        
        
        
    }
    .banner3{
        background-repeat:no-repeat;
        width:800px;
    }
    .navi{
        position:fixed;
        right:0px;
    }
    .navi li{
        color:white;
        display:inline-block;
        margin-right:30px;
        float:left;
    
        
    }
    .logo{
        float:left;
    }
    .footer{
         width:100%;
         height:100px;
         line-height:100px;
         color:white;
         font-size:20px;
         
          background-color:black;
          position: fixed;
          text-align:center;
          bottom:0;
    }
    
     .footer ul li{
          padding:0 25px;
          display:inline-block;
         
       }
  </style>
</head>
<body>
  <!-- 此处写代码 -->
  <div class="header">
       <div class="logo">
        <img src="http://img1.sycdn.imooc.com/climg//58c0d2d900016ce303000100.png">
      </div>
      <ul class="navi">
          <a href="#"><li>课程</li></a>
          <a href="#"><li>职业路径</li></a>
          <a href="#"><li>实战</li></a>
          <a href="#"><li>猿问</li></a>
          <a href="#"><li>手记</li></a>
      </ul>
  </div>
  <div class="container">
  <div class="banner1">
      <img src="http://img1.sycdn.imooc.com/climg//58c0eda50001e12416000480.jpg">
  </div>
  <div class="banner2">
      <img src="http://img1.sycdn.imooc.com/climg//58c0edb80001c9f216000480.jpg">
  </div>
  <div class="banner3">
      <img src="http://img1.sycdn.imooc.com/climg//58c0edc9000100d516000480.jpg">
  </div>
  <div class="footer">
      <div>
          <ul>
          <li>课程</li>
          <li>职业路径</li>
          <li>实战</li>
          <li>猿问</li>
          <li>手记</li>
      </ul>
      </div>
      
  </div>
  </div>
</body>
</html>
  1. 以上是我的代码,请问有什么可以优化的吗?

  2. 背景图片什么时候用background-image:url(),什么时候直接用<img>比较好?

  3. 当表示长度的数据后不加px的时候,这个数值的默认单位是什么?

  4. 同时规定了图片宽高但是和图片原图宽高比例不同的时候,图片宽高按什么显示?

  5. <div class="footer">
          <div>
              <ul>
              <li>课程</li>
              <li>职业路径</li>
              <li>实战</li>
              <li>猿问</li>
              <li>手记</li>
          </ul>
          </div>
    这一段代码,为什么只有把<ul>套在<div>里,它才能够通过text-align:center;控制居中显示?


正在回答

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

2回答

同学你好,问题解答如下:

1.代码的问题和修改如下:

(1)ul中直接嵌套a不规范,正确的应该是ul>li , 内容应该放在li中。如下修改:

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

文字放在a标签会有默认样式,如下清除:

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

(2)图片不设置大小,默认显示原图大小。当分辨率小时,会出现横向滚动条。

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

图片设置宽度100%:

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

2.img图片适合做动态加载的图片。在实际开发中 , 有的图片是动态从后台加载来的 . 例如你在网上购物时 , 里面的商品根据不同的搜索显示不同的商品 。这个就是根据你搜索不同的商品 , 向后台请求不同的数据 , 所以商品的图片自然也是从后台动态加载 。动态加载来的图片 , 就可以在js中做成html模板 , 然后使用img引用图片 。(在后面高级阶段的课程中会有相关的)

但是img图片太大的话,网上太卡,就会出现我们经常看到的一个现象,就是图片的上部分加载过来,但是下部分没有加载显示出来。

背景图属于在css样式中引用的,它不会出现一半背景图显示一半不显示的情况。因为只有css中背景图完全加载过来,才会渲染到页面中去。所以页面中不需要动态加载的图片 , 就是一张不会变化的图片 , 这个可以使用背景图设置 。例如页面中的logo ,这个logo不会因为你搜索的内容不同 ,显示的就不同 。所以它不需要从后台加载过来 , 直接设置成背景图片就行哦 。或者有一些大的banner图片,也可以使用背景图设置。

3.具体是说的哪一个属性 ,不太理解同学描述的问题,请详细说一下。

4.一般不需要给图片设置高度的,只设置宽度即可,这样高度会根据宽度的变化原比例进行缩小或者放大。当然了,如果必须同时设置宽高,有一点变形也可以的。

5.老师把div去掉,是可以居中的,建议同学重新测试一下:

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

祝学习愉快 !

  • TaraTara 提问者 #1
    谢谢老师,关于问题3,例如,如果我设置一张图片的样式是width:100; (而不是width:100px;),那么这张图片显示的宽度是多少呢?
    2020-03-22 00:33:33
  • TaraTara 提问者 #2
    还有一个问题是,老师指出我的代码ul中直接嵌套a不规范,正确的应该是ul>li , 内容应该放在li中。但是像我现在这样写,它显示的效果也是正确的,那么这除了不规范之外,还会有什么负面影响吗?
    2020-03-22 00:38:13
好帮手慕言 2020-03-22 11:18:08

同学你好,关于同学的疑问,解答如下:
1、如果不加单位的话,样式不生效,图片的宽度是自身的宽度,比如:
http://img1.sycdn.imooc.com//climg/5e76d8390987fa4705080370.jpg

效果:
http://img1.sycdn.imooc.com//climg/5e76d86d0952ca2806680661.jpg

加上单位之后,图片的宽度为100px,如下:
http://img1.sycdn.imooc.com//climg/5e76d8a009c738e706920671.jpg

2、目前来说是没有其他影响的,不过我们知道规范的写法,按照规范写就可以了。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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