请老师优化代码并且解答关于<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>
以上是我的代码,请问有什么可以优化的吗?
背景图片什么时候用background-image:url(),什么时候直接用<img>比较好?
当表示长度的数据后不加px的时候,这个数值的默认单位是什么?
同时规定了图片宽高但是和图片原图宽高比例不同的时候,图片宽高按什么显示?
<div class="footer"> <div> <ul> <li>课程</li> <li>职业路径</li> <li>实战</li> <li>猿问</li> <li>手记</li> </ul> </div>
这一段代码,为什么只有把<ul>套在<div>里,它才能够通过text-align:center;控制居中显示?
正在回答
同学你好,问题解答如下:
1.代码的问题和修改如下:
(1)ul中直接嵌套a不规范,正确的应该是ul>li , 内容应该放在li中。如下修改:
文字放在a标签会有默认样式,如下清除:
(2)图片不设置大小,默认显示原图大小。当分辨率小时,会出现横向滚动条。
图片设置宽度100%:
2.img图片适合做动态加载的图片。在实际开发中 , 有的图片是动态从后台加载来的 . 例如你在网上购物时 , 里面的商品根据不同的搜索显示不同的商品 。这个就是根据你搜索不同的商品 , 向后台请求不同的数据 , 所以商品的图片自然也是从后台动态加载 。动态加载来的图片 , 就可以在js中做成html模板 , 然后使用img引用图片 。(在后面高级阶段的课程中会有相关的)
但是img图片太大的话,网上太卡,就会出现我们经常看到的一个现象,就是图片的上部分加载过来,但是下部分没有加载显示出来。
背景图属于在css样式中引用的,它不会出现一半背景图显示一半不显示的情况。因为只有css中背景图完全加载过来,才会渲染到页面中去。所以页面中不需要动态加载的图片 , 就是一张不会变化的图片 , 这个可以使用背景图设置 。例如页面中的logo ,这个logo不会因为你搜索的内容不同 ,显示的就不同 。所以它不需要从后台加载过来 , 直接设置成背景图片就行哦 。或者有一些大的banner图片,也可以使用背景图设置。
3.具体是说的哪一个属性 ,不太理解同学描述的问题,请详细说一下。
4.一般不需要给图片设置高度的,只设置宽度即可,这样高度会根据宽度的变化原比例进行缩小或者放大。当然了,如果必须同时设置宽高,有一点变形也可以的。
5.老师把div去掉,是可以居中的,建议同学重新测试一下:
祝学习愉快 !
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星