为什么这个span标签要浮动后才能显示在div里?

为什么这个span标签要浮动后才能显示在div里?

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        *{

            padding:0;

            margin:0;

            list-style: none;

        }


        .videoBox{

            width:540px;

            height:332px;

            background-color: #000;

            box-shadow: 0 0 4px black;

        }


        .video{

            float:left;

            width:540px;

            height:305px;

        }


        .control{

            float:left;

            width:540px;

            height:27px;

            background:url(images/ctrs_bg.gif)repeat-x;

        }

        .control .play{

            width:13px;

            height:15px;

            margin-left:14px;

            margin-top:6px;

            background:url(images/playNode.png);

            cursor:pointer;

            float:left;

        }


        .control .load{

            width:267px;

            height:10px;

            margin:9px 0 0 14px;

            float:left;

            background:url(images/load_bg.png)repeat-x;

            position:relative;

        }


        .control .load .loadleft{

            height:100%;

            width:3px;

            position: absolute;

            left:0;

            top:0;

            background:url(images/left_bg.png)no-repeat;

        }


        .control .load .loadright{

            height:100%;

            width:3px;

            position: absolute;

            right:0;

            top:0;

            background:url(images/right_bg.png)no-repeat;

        }


        .control .load .controller{

            width:17px;

            height:17px;

            background:url(images/crl_bg.png);

            position:absolute;

            left:-8.5px;

            top:-3.5px;

            cursor:pointer;

        }


        .control .timeNode{

            float:left;

            width:55px;

            height:10px;

            margin:9px 0 0 9px;

        }


        .control .timeNode span{

            float:left;

            color:#fff;

            font-size:10px;

            line-height:10px;

        }



    </style>

</head>

<body>

    <div class="videoBox">

        <!-- 视频 -->

        <video class="video" src="data/imooc.mp4"></video>

        <!-- 控制器 -->

        <div class="control">

            <div class="play"></div>

            <div class="load">

                <div class="loadleft"></div>

                <div class="loadright"></div>

                <div class="controller"></div>

            </div>

            <div class="timeNode">

                <span class="now">1:30</span>

                <span> - </span>

                <span class="all">4:30</span>

            </div>

        </div>

    </div>


</body>

</html>


为什么显示在那个timenode里的span标签的文字要浮动后才会显示在timenode里?

正在回答 回答被采纳积分+1

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

4回答
好帮手慕糖 2020-03-26 19:05:09

同学你好,video可以不设置浮动,这里的浮动没有作用。

另,建议:同学的遇到的问题,可以先梳理下,一起提问。便于更加快速的为你解答哦。

祝学习愉快~

好帮手慕糖 2020-03-26 15:51:20

同学你好,因为要在一行显示,div是块级元素,设置浮动让其在一行显示哦。

祝学习愉快~

  • 提问者 lcyjerry #1
    那为啥上面那个video标签也要设置呢?他和下面的控制层的div不需要并排显示
    2020-03-26 15:52:37
好帮手慕糖 2020-03-26 15:23:08

同学你好,宽度修改之后,是可以在一行显示的,如下:

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

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

不过又点往下,是因为设置的上外边距导致的,去掉即可,例:

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

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

祝学习愉快~

  • 提问者 lcyjerry #1
    为啥老师的案例里面所有div都用浮动了?目的是啥?
    2020-03-26 15:38:12
好帮手慕糖 2020-03-26 10:08:40

同学你好,因为span是行内元素,行内元素彼此之间是有一个间距的,导致整体的宽度变大,div存放不下,换行显示了。可以将div元素的宽度设置大一点,也是可以存放下的。

设置浮动之后,会有块级元素的特性,这个间距就没有了,宽度够用就不换行了。

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

  • 提问者 lcyjerry #1
    我把span标签的float去除后,加大了span父容器的宽度还是不能正常显示
    2020-03-26 11:53:47
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

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

在线咨询

领取优惠

免费试听

领取大纲

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