当前位置: 首页 > article >正文

HTML5+css3(浮动,浮动的相关属性,float,解决浮动的塌陷问题,clear,overflow,给父亲盒子加高度,伪元素)

浮动的相关属性

以下使浮动的常用属性值:

float:	设置浮动
以下属性:
left : 设置左浮动
right : 设置右浮动
none :不浮动,默认值
clear	清除浮动 清除前面兄弟元素浮动元素的响应	
以下属性:
left :清除前面左浮动的影响
right :清除前面右浮动的影响
both :清除前面左右浮动的影响

元素浮动之后的特点

  • 在上面我们知道了对于浮动的元素,其会脱离标准文档流。

  • 浮动产生的影响:

  1. 脱离文档流。
  2. 不管浮动前是什么元素,浮动后:默认宽与高都是被内容撑开(尽可能小),而且可以设置宽高。
  3. 不会独占一行,可以与其他元素共用一行。
  4. 不会margin 合并,也不会margin 塌陷,能够完美的设置四个方向的margin 和padding 。
  5. 不会像行内块一样被当做文本处理(没有行内块的空白问题)。

6.当元素浮动之后,下面的元素就可以向上提升位置,占有浮动元素的位置。

解决浮动产生的影响

  • 浮动产生的一些困扰:
  1. 对兄弟元素的影响: 后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面;对前面的兄弟无影响。
  2. 对父元素的影响: 不能撑起父元素的高度,导致父元素高度塌陷;但父元素的宽度依然束缚浮动的元素。
  • 其实最主要要解决的影响是(父元素高度塌陷),以下是解决方案:
  1. 方案一: 给父元素指定高度。
  2. 方案二: 给父元素设置浮动,带来其他影响。
  3. 方案三: 给父元素设置 overflow:hidden 。
  4. 方案四: 在所有浮动元素的最后面,添加一个块级元素,并给该块级元素设置clear:both
  • 额外标签:谁需要清除浮动就在该元素后面添加一个空白标签,属性设置为:clear:both
  1. 方案五: 给浮动元素的父元素,设置伪元素,通过伪元素清除浮动 (推荐使用)

  2. 伪元素 对于其父元素,我们可以给其加上一个类,并对该类进行如下设置:

.clearfix::after {
   /* 设置添加子元素的内容是空 */
   content: '';
   /* 设置添加子元素为块级元素 */
   display: block;
   /* 设置添加的子元素的高度0 */
   height: 0;
   /* 设置添加子元素看不见 */
   visibility: hidden;
   /* 设置clear:both */
   clear: both;
}

作业

  • 盒子模型
<!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>
        *{
            margin: 0px auto;
            padding:0px;
            /* 自动减去边距宽度 */
            box-sizing: border-box;
        }
        /* 整体 */
        #all{
            width: 970px;
            height: 586px;
            /* 整体背景颜色,看效果 */
            /* background-color: palegoldenrod; */
        }
    
        /* 顶部 */
        #top{
            width: 970px;
            height: 103px;
            /* 在最开始设置整体布局可以写一下 */
            /* background-color: pink; */
        }
        /* 红色的盒子 */
        .left1{
            float: left;

            width: 277px;
            height: 103px;
            background-color: red;
        }
         /* 右边 */
        .right1{
            float: right;
            width: 679px;
            height: 103px;

        }
        /* 语言选择 */
        .chinese{
            float: right;
            width: 137px;
            height: 49px;
            background-color: green;
            margin-bottom: 8px;

        }
        /* 导航条 */
        .banner{
            overflow: hidden;

            width: 679px;
            height: 46px;
            background-color: green;
        }


        /* 中部 */
        #middle{
            width: 970px;
            height: 435px;
            /* background-color:pink ; */
            margin-top:8px ;
        }
        /* 黄色部分 大广告 */
        .left2{
            float: left;
            width: 310px;
            height: 435px;
            background-color: yellow;
            margin-right: 10px;
        }
          /* 中部的中部部分 蓝色部分 */
          .center{
            float: left;
            width: 450px;
            height: 435px;
            
          }
          .one{
            width: 450px;
            height: 240px;
            background-color: skyblue;
          }

          .two{
            width: 450px;
            height: 110px;
            background-color: skyblue;
            margin-top: 10px;
          }
          .three{
            width: 450px;
            height: 30px;
            background-color: skyblue;
            margin-top: 10px;

          }
          .right2{
            overflow: hidden;
            width: 190px;
            height: 400px;
            background-color: purple;
          }
               /* 深蓝色 */
          .blue{
            float: left;
            
            width: 648px;
            height: 25px;
            background-color: blue;
            margin-top: 10px;
          }

          /* 底部 */
          #bottom{
            width: 970px;
            height: 40px;
            background-color: darkorange;
            margin-top: 10px;
          }
    </style>
</head>
<body>
    <!-- 整体盒子模型 -->
    <div id="all">
      
            <!-- 顶部 -->
             <div id="top">
                     <!-- 红色的盒子 -->
                   <div class="left1"></div>
                    <!-- 右部分 -->
                    <div class="right1">
                        <div class="chinese"></div>
                        <div class="banner"></div>
                    </div>
             </div>

             <!-- 中部 -->
              <div id="middle">
                <!-- 黄色部分 -->
                       <div class="left2"></div>
                       <!-- 浅蓝色部分 -->
                       <div class="center">
                        <div class="one"></div>
                        <div class="two"></div>
                        <div class="three"></div>
                         <!-- 深蓝色 -->
                       <div class="blue"></div>
                       </div>
                       <!-- 紫色 -->
                       <div class="right2"></div>
                      
              </div>

              <!-- 底部 -->
               <div id="bottom">

               </div>
    </div>
</body>
</html>
  • 公告
<!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>
        *{
            margin: 0px;
            padding:0px;
            
        }
        #all{
            width: 500px;
            height: 400px;
        }
        .top{
            width: 480px;
            /* height: 100px; */
            margin: 10px;
            margin-bottom: 0px;
            border-top: 1px dashed;
            
        } 
        .bgc{
            width: 480px;
            height: 20px;
            background-color: rgb(227, 235, 241);
        }
        p{
            display: inline-block;
            border-left:3px solid blue ;
            padding-left: 16px;
            margin-left: 5px;
            font-size: 24px;
            /* margin-top: 20px; */
            color: blue;
            font-weight:bolder;
        }
      .top a{
            float: right;
            margin-top: 10px;
              color:blue ;
        }
        a{
            text-decoration: none;
        }
        .one{
            width: 480px;
            height: 2px;
            background-image: linear-gradient(to right , rgb(61, 47, 187),red);
            margin-top: 5px;
        }
        .bottom{
            width: 500px;
        }

        .bottom li{
              border-bottom: 1px dashed rgb(210, 207, 207);
               background: url(..//imgs/triangle1.png) no-repeat 4px;
               background-size: 12px 12px;
               padding: 5px;
               padding-left: 24px;
               margin: 10px;

        }
        span{
            float: right;
        }
    </style>
</head>
<body>
    <!-- 整体 -->
    <div id="all">
        <!-- 通知公告 -->
        <div class="top">
            <div class="bgc"></div>
            <p>通知公告</p> <a href="#">更多》</a>
         <div class="one"></div>
        </div>
 
        <!-- 内容 -->
        <div class="bottom">
                <ul>
                    <li><a href="#">哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</a><span>2014年9月28号</span></li>
                    <li><a href="#">哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</a><span>2014年9月28号</span></li>
                    <li><a href="#">哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</a><span>2014年9月28号</span></li>
                </ul>
        </div>
    </div>
</body>
</html>

http://www.kler.cn/a/389059.html

相关文章:

  • Redis - 集群(Cluster)
  • 前端神经网络入门(三):深度学习与机器学习的关系、区别及核心理论支撑 - 以Brain.js示例
  • ️️一篇快速上手 AJAX 异步前后端交互
  • POI实现根据PPTX模板渲染PPT
  • 计算机毕业设计Python+Neo4j知识图谱医疗问答系统 大模型 机器学习 深度学习 人工智能 大数据毕业设计 Python爬虫 Python毕业设计
  • 使用jmeter查询项目数据库信息,保存至本地txt或excel文件1108
  • C语言中操作符详解(上)
  • 【云原生开发】K8S集群管理后端开发设计与实现
  • [C++] GDB的调试和自动化检测
  • 计算机课程管理:Spring Boot与工程认证的协同
  • BIST(Built-in Self-Test,内建自测试)学习笔记
  • 项目功能--套餐预约占比饼形图
  • SQL注入(SQL Injection)详解
  • 十大经典排序算法-冒泡算法详解介绍
  • Linux下进程链接结构,命令行参数,环境变量
  • 【论文阅读】Learning dynamic alignment via meta-filter for few-shot learning
  • Django替换现有用户模型(auth_user)
  • 《潜行者2切尔诺贝利之心》游戏引擎介绍
  • Jest项目实战(2): 项目开发与测试
  • 鸿蒙next版开发:ArkTS组件快捷键事件详解
  • 密码学知识点整理二:常见的加密算法
  • c语言中的柔性数组
  • 【css flex 多行均分有间隙布局】
  • 小白学习之路:咖啡叶锈病分割
  • 105. UE5 GAS RPG 搭建主菜单
  • MySQL缓存参数如何优化与表结构如何优化才算是最大性能的优化