老师,难道这个练习只能通过计算实现居中效果吗?

老师,难道这个练习只能通过计算实现居中效果吗?

<!DOCTYPE html>
<html>
<head>
        <!-- 此处编写样式 -->
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .container{
            border: 1px dashed gray;
            width: 636px;
            padding-left: 10px;
            margin: 10px;
            overflow: hidden;
            zoom:1;
        }
        .con ul li{
            width: 200px;
            list-style: none;
            border: 1px solid gray;
            float: left;
            margin: 10px 10px 10px 0;
        }
        .con img{
            width: 100%;
        }
    </style>
</head>
<body>   
        <!-- 此处写代码 -->    
    <div class="container">
        <ul>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe9770001e63102400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe97d00011bda02400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe982000150ba02400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
        </ul>
        <ul>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe9770001e63102400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe97d00011bda02400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe982000150ba02400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
        </ul>
    </div>
</body>
</html>

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

虽然实现了居中效果,但是我觉得这种方法太死板了,有没有更好的办法实现水平居中呢?

正在回答

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

4回答

经测试同学粘贴的第二段代码实现效果是正确的呢。这道编程题如果使用一个大盒子包裹起来,就是需要通过精确的计算来确定宽度,没有问题。whiteDive’同学实现的方法也是可以的,但是我们要求的是使用float来实现。

祝学习愉快!

  • 王小大 提问者 #1
    老师 我现在的不就应该是使用float方式实现的吗?
    2018-11-18 11:51:55
  • 好帮手慕星星 回复 提问者 王小大 #2
    同学是用浮动来实现的,老师说的是‘whiteDive’同学哦。
    2018-11-18 12:41:10
  • 王小大 提问者 回复 好帮手慕星星 #3
    老师 什么叫 whiteDive
    2018-11-18 13:14:38
好帮手慕星星 2018-11-18 14:35:28

老师指的是下面这个同学给你的建议:

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

  • 提问者 王小大 #1
    好的,麻烦老师了!
    2018-11-18 15:50:19
whiteDive 2018-11-16 21:29:10
<!DOCTYPE html>
<html>
<head>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .container{
            padding: 10px;
            border: red 1px dashed;
            display: inline-block;
        }
         .imgBox{
             width: 200px;
             height: 100px;
             margin: 10px;
             border: black 1px solid;
             display: inline-block;
         }

    </style>
</head>
<body>
<!-- 此处写代码 -->
<div class="container">
    <div class="lineone">
        <div class="imgBox"></div>
        <div class="imgBox"></div>
        <div class="imgBox"></div>
    </div>
    <div class="lineone">
        <div class="imgBox"></div>
        <div class="imgBox"></div>
        <div class="imgBox"></div>
    </div>

</div>
</body>
</html>

同学你好 我是陆超  可以用div替代你的li  一行再一个div在包裹起来  设置浮动   这样就不用通过宽度起到换行的效果  happy everyday 真好  我也是学生 有说错的地方见谅

  • 提问者 王小大 #1
    你好 我也是陆超 上面代码发错了,请看下面,真好!
    2018-11-16 21:33:21
  • whiteDive 回复 提问者 王小大 #2
    你就是通过宽度让他换行的吧 如果一行一个div 包裹 块级元素就自动换行 里面的div设置了inline-block就不换行 最外层也设置inline-block就不会占用整行 就不需要设置宽度 也是居中效果
    2018-11-16 21:39:59
  • 提问者 王小大 回复 whiteDive #3
    我说了最开始发的代码是有问题的,后面下面补充的才是正确的!
    2018-11-17 15:50:08
提问者 王小大 2018-11-16 20:01:44
<!DOCTYPE html>
<html>
<head>
        <!-- 此处编写样式 -->
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .container{
            border: 1px dashed gray;
            width: 636px;
            padding-left: 10px;
            margin: 10px;
            overflow: hidden;
            zoom:1;
        }
        .container ul li{
            width: 200px;
            list-style: none;
            border: 1px solid gray;
            float: left;
            margin: 10px 10px 10px 0;
        }
        .container img{
            width: 100%;
        }
    </style>
</head>
<body>   
        <!-- 此处写代码 -->    
    <div class="container">
        <ul>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe9770001e63102400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe97d00011bda02400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe982000150ba02400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
        </ul>
        <ul>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe9770001e63102400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe97d00011bda02400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
            <li>
                <dt><img src="http://img1.sycdn.imooc.com/climg//590fe982000150ba02400135.jpg"></dt>
                <dd>我是一段文字!</dd>
            </li>
        </ul>
    </div>
</body>
</html>

上述代码发错了,纠正一下!

  • 提问者 王小大 #1
    忘了将之前去除的con修改为container
    2018-11-16 20:02:22
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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