zoukankan      html  css  js  c++  java
  • 关于自适应屏幕,设置子元素浮动,父div不能包裹子div,子元素中内容溢出的问题。

    设置HTML适应不同分辨率的屏幕。

    需求结构如下:


    HTML结构代码如下(只是其中一条):

    <body>
    <div class="content"><!--用于包裹一条内容-->
            <div class="img"><img src="../img/03.png"></div><!--放置内容图片-->
            <div class="text"><!--放置内容文字-->
                <div class="title">聊聊天</div>
                <div class="detail">龙儿可以陪你聊天,但更希望你能找到好友去喝杯咖啡,聊聊生活在这个城市的喜怒哀乐!</div>
            </div>
        </div><span style="font-family: Arial, Helvetica, sans-serif;"></div></span><span style="font-family: Arial, Helvetica, sans-serif;"></body></span>
    /* css 样式之一*/
    <pre name="code" class="css">@media screen and (min-1080px){
                .box{  1080px;}.content{ 1040px;min-height: 190px;}
                                     .img{height:180px;}
                                     .text{min-height: 180px;}
                                     .img{font-size: 48px;line-height: 180px;}
                .title{font-size: 46px;line-height: 100px;}
                 .detail{font-size: 20px;}
            }

    
    
    
    我对class=content里面的子元素进行了float,所以两个div在一行,其它样式代码不再贴出,查看页面,效果却不是我想要的,如下:
    

    第一个content的内容,覆盖到了第二个content上。原因是我设置了父元素class=text,的高度,在class=detail的div中写入内容超过了复原的高度,所以溢出了,想要父元素自适应包含元素高度,只需要取消父元素text的高度。如下:

    <pre name="code" class="css">@media screen and (min-1080px){
                .box{  1080px;}.content{ 1040px;}
                                     .img{height:180px;}
                                     .img{font-size: 48px;line-height: 180px;}
                .title{font-size: 46px;line-height: 100px;}
                 .detail{font-size: 20px;}
            }


    取消了两层content和text两层父元素的高度,内容是包裹了,但是样式飞了。如下:
    

    因为我取消了content元素的高度,因为里面的子元素img和text是浮动的,浮动元素脱离了文档流,所以包围图片和文本的div不占据空间。content没有高度包裹不了浮动的子元素,所以所有的子元素,浮动到了一起。如下图:

    图片来自:http://www.jbxue.com/css/31451.html

    上图中,第二容器,在容器中添加了一行,如下,我在结构代码中,添加了一行:

    <span style="font-size:12px;"><div class="content"><!--用于包裹一条内容-->
            <div class="img"><img src="../img/03.png"></div><!--放置内容图片-->
            <div class="text"><!--放置内容文字-->
                <div class="title">聊聊天</div>
                <div class="detail">龙儿可以陪你聊天,但更希望你能找到好友去喝杯咖啡,聊聊生活在这个城市的喜怒哀乐!</div>
            </div>
            <span style="background-color: rgb(255, 0, 0);"><div class="clear" style="clear:poth;"></div><!-- 加入不浮动元素 --></span>
        </div></span>
    在每个content结束之后,清除content这个元素中子元素的浮动,清除之后。因为div.clear是区块且没有浮动,会一直在父元素中,所以会撑起父元素,效果如下:




    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    什么是模板缓冲(Stencil Buffer)
    linux的source命令
    设置屏幕不被锁屏
    【转】OpenGL ES EGL & TLS(线程局部存储) & G3D
    [转]OpenGL混色介绍
    【转】Android 启动过程汇总
    Analyzing the memory usage of your Android application
    【转】EGL接口介绍(转)
    Android 核心分析(13) Android GWES之Android窗口治理
    /dev/zero和/dev/null的区别
  • 原文地址:https://www.cnblogs.com/v-weiwang/p/4773769.html
Copyright © 2011-2022 走看看