请问我的代码问题在哪里?

请问我的代码问题在哪里?

(1)为什么margin:auto不能使盒子垂直居中?

(2)图片的位置怎么调整最好?

<!DOCTYPE html>

<html>

<head>

  <meta charset="UTF-8">

  <title></title>

  <style type="text/css">

    *{margin:0;padding:0;text-align:center;}

.container{margin:auto;

           width:1000px;

   height:800px;

   }

    .first{width:1000px;

       height:500px;

   background-color:#add8e6;

   margin:auto;

   }

.second{width:1000px;

       height:300px;

   background-color:#ffb6c1;

   margin:auto;

   }

img{margin:auto;


    }

  </style>

</head>

<body>

  <div class="container">

     <div class="first">

    <img src="http://img1.sycdn.imooc.com/climg//58c0f808000129a303600215.jpg"/>

<img src="http://img1.sycdn.imooc.com/climg//58c0f819000198a703600214.jpg"/>

</div>

<div class="second">

    <img src="http://img1.sycdn.imooc.com/climg//58c0f81d0001fe4402000060.jpg"/>

<img src="http://img1.sycdn.imooc.com/climg//58c0f8220001dfce02000060.jpg"/>

<img src="http://img1.sycdn.imooc.com/climg//58c0f8780001c74602000060.jpg"/>

</div>

  </div>

</body>

</html>


正在回答

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

1回答

同学你好

1、使用margin: auto;让整体居中的前提是需要给当前元素这是position定位,参考下图:

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

2、拿first区域为例,first区域的宽度是1000px,它里面有两个图片区域,图片区域相对于first容器设置为35%,所以first区域可以理解为100%,所以100-35*2 = 30%,然后左、中、右的间隙需要保持一致,就直接30/3 = 10,直接给两个图片设置margin-left:10%即可,图片的上下间隙也需要一致,所以给图片设置一个固定的高度,比如300px,而first区域的高度为500px,所以直接500-300=200,200/2=100,直接margin-top:100px,参考下图:

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

3、second区域跟first区域设置是一样的,先给图片设置宽高,在计算他们的间隙值,参考下图进行修改:

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

4、给所有图片设置float:left是为了清除图片自带的间隙问题。

自己测试一下, 祝学习愉快,望采纳

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

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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