css浮动

news2024/11/25 0:37:35

浮动的顺序贴靠特性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浮动</title>
    <style>
      .box{
        width: 250px;
        height: 100px;
        border: 1px solid #000;
      }
      .box .c1{
        width: 150px;
        height: 100px;
        background-color: orange;
        float: left;
      }
      .box .c2{
        width: 100px;
        height: 50px;
        background-color: green;
        float: left;
      }
      .box .c3{
        width: 100px;
        height: 50px;
        background-color: blue;
        float: left;
      }
    </style>
</head>
<body>
  <div class="box">
    <div class="c1"></div>
    <div class="c2"></div>
    <div class="c3"></div>
  </div>
</body>
</html>

浮动的元素一定要设置宽高,不需要再区分行内,行内块,块元素了

使用浮动实现网页布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浮动</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        header{
            width: 1000px;
            height: 100px;
            /*第一步*/
            /*background-color: #333;*/
            margin: 0 auto;
        }
        .content{
            width: 1000px;
            height: 500px;
            margin: 20px auto;
            /*第二步*/
            /*background-color: #333;*/
        }
        footer{
            width: 1000px;
            height: 100px;
            margin: 0px auto;
            background-color: #333;
        }
        header .logo{
            float: left;
            width: 220px;
            height: 100px;
            background-color: orange;
        }
        header .login{
            float: right;
            width: 220px;
            height: 30px;
            background-color: orange;
        }
        header nav{
            float: right;
            width: 660px;
            height: 50px;
            background-color: green;
            margin-top: 20px;
        }
        .content .ad{
            float: left;
            width: 300px;
            height: 500px;
            background-color: rgb(9,141,182);
        }
        .content main{
            float: right;
            width: 680px;
            height: 500px;
            /*第三步*/
            /*background-color: rgb(162,14,221);*/
        }
        .content main .banner{
            width: 680px;
            height: 380px;
            background-color: orange;
        }
        .content main .pics{
            width: 680px;
            height: 100px;
            margin-top: 20px;
            /*第四步*/
            /*background-color: orange;*/
        }
        .content main .pics ul{
            list-style: none;
        }
        .content main .pics ul li{
            float: left;
            width: 160px;
            height: 100px;
            background-color: blue;
            margin-right: 10px;
        }
        .content main .pics ul li:last-child{
            width: 170px;
            margin-right: 0;
        }
    </style>
</head>
<body>
    <header>
        <div class="logo"></div>
        <div class="login"></div>
        <nav></nav>
    </header>
    <section class="content">
        <aside class="ad"></aside>
        <main>
            <div class="banner"></div>
            <div class="pics">
                <ul>
                    <li></li>
                    <li></li>
                    <li></li>
                    <li></li>
                </ul>
            </div>
        </main>
    </section>
    <footer></footer>
</body>
</html>

清除浮动方法

1.父元素添加overflow:hidden

2.父元素添加类标签clearfix 

.clearfix::after {
            content: '';
            clear: both;
            /* 转为块级元素 */
            display: block;
        }

3.一个盒子不浮动的话之前添加一个盒子设置 height:20px;clear:both;

4.直接给该盒子添加margin-top:20px;clear:both;不建议使用

BFC规范

BFC(块级格式化上下文)是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然

例子:当一个盒子不设置height,当内容子元素都浮动时,无法撑起自身,这个盒子没有形成BFC

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>浮动2</title>
    <style>
      .box{
        width: 400px;
        border: 10px solid #000;
      }
      .box .c1{
        float: left;
        width: 200px;
        height: 200px;
        background-color: orange;
      }
      .box .c2{
        float: left;
        width: 200px;
        height: 200px;
        background-color: blue;
      }
    </style>
</head>
<body>
  <div class="box">
    <div class="c1"></div>
    <div class="c2"></div>
  </div>
</body>
</html>

效果如左下图 

           

 方法一和三方法可行,但相对不靠谱,比较常用方法二加绝对定位和方法四

.box{
        width: 400px;
        border: 10px solid #000;
        position: absolute;
      }

添加了绝对定位后,效果如右上图所示 

方法四的作用: 溢出盒子边框的内容将被隐藏,但是盒子的padding部分的溢出还在

BFC的其他作用

BFC可以取消盒子margin塌陷

BFC可以阻止元素被浮动元素覆盖 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>解决margin的塌陷</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        p {
            width: 200px;
            height: 200px;
            background-color: orange;
            margin: 50px;
        }

        div {
            overflow: hidden;
        }

        .s1 {
            float: left;
            width: 300px;
            height: 300px;
            background-color: red;
        }

        .s2 {
            /*实战不建议这么做,还是选择都浮动比较好,虽然效果相同*/
            overflow: hidden;
            width: 200px;
            height: 200px;
            background-color: blue;
        }
    </style>
</head>
<body>
<div>
    <p></p>
</div>
<div>
    <p></p>
</div>

<section class="s1"></section>
<section class="s2"></section>
</body>
</html>

 

定位

相对定位:导航条

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>相对定位</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        nav {
            width: 960px;
            height: 40px;
            margin: 40px auto;
            /*border: 1px solid #000000;*/
        }

        nav ul {
            list-style: none;
        }

        nav ul li {
            float: left;
            width: 120px;
            height: 40px;
            text-align: center;
            line-height: 40px;
        }

        nav ul li a {
            display: block;
            width: 120px;
            height: 40px;
            background-color: orange;
            text-decoration: none;
            color: white;
        }

        nav ul li a:hover {
            border-top: 3px solid red;
            position: relative;
            top: -3px;
            background-color: gold;
        }
    </style>
</head>
<body>
<nav>
    <ul>
        <li><a href="">网站栏目</a></li>
        <li><a href="">网站栏目</a></li>
        <li><a href="">网站栏目</a></li>
        <li><a href="">网站栏目</a></li>
        <li><a href="">网站栏目</a></li>
        <li><a href="">网站栏目</a></li>
        <li><a href="">网站栏目</a></li>
        <li><a href="">网站栏目</a></li>
    </ul>
</nav>
</body>
</html>

绝对定位脱离标准文档流    脱离标准文档流的方法:浮动、绝对定位、固定定位

绝对定位的元素脱离标准文档流,将释放自己的位置,对其他元素不会产生任何干扰,而是对它们进行压盖

z-index设置优先级覆盖   添加绝对定位可以给行内元素设置宽高

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>绝对定位的用途</title>
    <style>
      *{
        margin: 0;
        padding: 0;
      }
      .carouse1{
        width: 650px;
        height: 360px;
        border: 1px solid #000;
        margin: 40px auto;
        position: relative;
      }
      /*共性*/
      .carouse1 .btn{
        /*给a标签设置绝对定位也可以设置宽高度*/
        /*绝对定位因为按钮压在图片上面*/
        position: absolute;
        width: 40px;
        height: 40px;
        border: 1px solid #000;
        /*从个性提取上来*/
        top: 50%;
        margin-top: -20px;
        /*圆形*/
        border-radius: 50%;
        text-align: center;
        line-height: 40px;
        background-color: rgba(255,255,255,.5);
        /*鼠标为小手*/
        cursor: pointer;
        font-family:Consolas;
        font-size: 26px;
      }
      .carouse1 .btn:hover{
        background-color: gold;
        color: white;
      }
      /*个性*/
      .carouse1 .leftbtn{
        left: 10px;
      }
      /*个性*/
      .carouse1 .rightbtn{
        right: 10px;
      }

      .carouse1 ol{
        position: absolute;
        width: 120px;
        height: 20px;
        right: 20px;
        bottom: 20px;
        /*background-color: green;*/
        list-style: none;
      }
      .carouse1 ol li{
        float: left;
        width: 20px;
        height: 20px;
        /*background-color: gold;*/
        background-color: rgba(255,255,255,.5);
        /*变为圆形*/
        border-radius: 50%;
        margin-right: 10px;
      }
      .carouse1 ol li.current{
        background-color: gold;
      }
    </style>
</head>
<body>
    <div class="carouse1">
      <img src="images/0.jpg" alt="">
      <a class="leftbtn btn">&lt;</a>
      <a class="rightbtn btn">&gt;</a>
      <ol>
        <li></li>
        <li class="current"></li>
        <li></li>
        <li></li>
      </ol>
    </div>
</body>
</html>
</html>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/101141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云上在野容器攻防战:“杀”不掉的挖矿木马

编者按 数字化浪潮蓬勃兴起&#xff0c;企业面临的安全挑战亦日益严峻。 腾讯安全近期将复盘2022年典型的攻击事件&#xff0c;帮助企业深入了解攻击手法和应对措施&#xff0c;完善自身安全防御体系。 本篇是第二期&#xff0c;讲述了国内某高端制造厂商遭遇云上在野容器攻…

将scss文件转换成css文件

大家平时做项目肯定都习惯了使用scss或者less去写样式&#xff0c;如果是使用工程化的项目我们可以借助插件很方便的将scss或者less转换成css。那如果我们没有使用工程化&#xff0c;比如简单的demo或者官网等项目又希望可以通过scss去编写文件应该怎么办呢&#xff0c;我们可以…

200 万年薪能拿多久?因 ChatGPT 爆红的「提示工程师」竟面临光速失业

【简介】ChatGPT大火后&#xff0c;“提示工程师”开始流行。然而&#xff0c;他们很可能被光速下岗&#xff1f; 最近爆发的ChatGPT真的让人上瘾。 但是&#xff0c;你只是在玩游戏&#xff0c;有些人已经在上面赚取了数百万的年薪&#xff01; 这位名叫莱利古德塞德的小弟最…

Codeforces Round #839 (Div. 3)题解

A. AB? 直接读入字符串然后把下标0和2的数字提取出来就行 // Problem: A. AB? // Contest: Codeforces - Codeforces Round #839 (Div. 3) // URL: https://codeforces.com/contest/1772/problem/A // Memory Limit: 512 MB // Time Limit: 2000 ms // // Powered by CP E…

还在堆人力处理工单?找准耗时源头才是关键!

对于提供企业级服务的公司来说&#xff0c;服务质量与效率日益受到关注。服务质量的本质是整体团队的效能&#xff0c;重中之重则是站在客户视角的工单解决效率。 当下很多这个领域的企业都会设立客户成功中心&#xff0c;其中就有专门对接客户工单处理的职责&#xff1b;而随…

Lifelong Embedding Learning and Transfer for Growing Knowledge Graphs

摘要 现有的知识图谱(KG)嵌入模型主要关注静态KG,但真实世界的KG并不是静态的,而是随着KG应用程序的发展而发展和增长。因此,新的事实和以前看不到的实体和关系不断出现,需要一个嵌入模型,可以通过增长快速学习和转移新知识。基于此,本文研究了KG嵌入的一个扩展领域,即…

96.第十九章 MySQL数据库 -- 多表查询(六)

3.7.2 多表查询 多表查询,即查询结果来自于多张表 子查询:在SQL语句嵌套着查询语句,性能较差,基于某语句的查询结果再次进行的查询 联合查询:UNION,表和表的纵向合并 交叉连接:笛卡尔乘积 内连接: 等值连接:让表之间的字段以“等值”建立连接关系 不等值连接 自然连接…

python数据清洗的三个常用的处理方式!

关于python数据处理过程中三个主要的数据清洗说明&#xff0c;分别是缺失值/空格/重复值的数据清洗。 这里还是使用pandas来获取excel或者csv的数据源来进行数据处理。若是没有pandas的非标准库需要使用pip的方式安装一下。 pip install pandas准备一下需要处理的脏数据&…

【愚公系列】2022年12月 .NET CORE工具案例-PLG轻量级日志可视化服务

文章目录前言1.Serilog简介2.Grafana简介3.Loki是什么一、Serilog对接Grafana轻量级日志可视化服务1.Grafana部署2.Loki部署3.promtail部署4.测试.NET Core写入日志效果5.测试查询日志总结前言 日志功能是几乎所有程序或系统都必备的一个功能。该文章通过使用LokiGrafana来实现…

算法题:N个元素之和

做题思路&#xff1a; 1&#xff09;首先对数组进行排序 2&#xff09;创建一个for循环&#xff1a; 第一个元素指向for循环 3&#xff09;然后创建一个while循环&#xff1b;第二个元素指向for循环的下一个元素&#xff0c;第三个元素指向最后一个元素 4&#xff09;如果三个元…

Java基础之《netty(15)—HTTP服务》

一、使用netty开发一个简单的http服务 1、netty服务器在6668端口监听&#xff0c;浏览器发出请求http://localhost:6668/ 在写netty的http server的例子过程中&#xff0c;发现浏览器使用端口号6668一直无法连接&#xff0c;报错ERR_UNSAFE_PORT。改成7000就可以了。 2、服务器…

2018年高职组——信息评估与管理赛题(解析)

这篇文章为2018年赛题第一阶段DCRS解析 都是自己的想法(仅供参考)不对请指正评论 先来张拓扑养养眼: 2018年拓扑 接下来是IP地址规划表: IP地址的配置就不用我再多赘述了吧,接下来是DCRS的题目 23、DCRS 为接入交换机,为终端产生防止 MAC 地址防洪攻击,请配置端口安全,…

【嵌入式Linux】开发环境搭建

一、概述 在进行某一个芯片平台开发前&#xff0c;一般都需要在电脑上安装一系列软件&#xff0c;然后在这些软件上阅读、编写、编译和调试在该平台上运行的代码&#xff0c;最后将编写好的代码通过某种方式烧录到该芯片的对应地址运行。在电脑上安装的这一系列软件的过程&…

知行之桥2022版本升级之页面变化以及监控邮件答疑

近期有些客户将知行EDI系统升级到了我们最新知行之桥2022版本&#xff0c;升级过程或者升级后对于新版本的使用会有些疑问&#xff0c;根据近期协助大家进行知行EDI系统升级遇到的问题&#xff0c;我们的运维团队整理了一些Q&A&#xff0c;将分为上下两篇分享给大家&#x…

深度学习入门(六十二)循环神经网络——双向循环神经网络

深度学习入门&#xff08;六十二&#xff09;循环神经网络——双向循环神经网络前言循环神经网络——双向循环神经网络课件未来很重要双向RNN推理总结教材1 隐马尔可夫模型中的动态规划2 双向模型2.1 定义2.2 模型的计算代价及其应用3 双向循环神经网络的错误应用4 小结前言 核…

排序算法之直接选择排序(图文详解)

文章目录一、选择排序思想二、排序过程详解2.1 排序的次数2.2 排序演示三、代码范例3.1 SelectSort函数3.2 整体代码实现3.3 结果展示四、选择排序分析4.1 稳定性4.2 复杂度4.3适用场景五、选泽排序优化总结一、选择排序思想 选择排序&#xff08;Selection sort&#xff09;是…

ABBYY15免费版直接编辑PDF格式文件

日常生活中&#xff0c;我们常常使用PDF格式的文件。其优点就是PDF的文本内容不会随着软件版本、电脑字体的变化而变化&#xff0c;保证了其完整性。但也正因为这一点&#xff0c;如果没有源文件&#xff0c;我们就很难对PDF文档的内容进行编辑了。今天&#xff0c;我就向大家展…

前端一面必会vue面试题(边面边更)

为什么要使用异步组件 节省打包出的结果&#xff0c;异步组件分开打包&#xff0c;采用jsonp的方式进行加载&#xff0c;有效解决文件过大的问题。核心就是包组件定义变成一个函数&#xff0c;依赖import() 语法&#xff0c;可以实现文件的分割加载。 components:{ AddCustom…

关于GitHub的.gitignore无法忽略 “default-2021.dwlt“ 文件的问题

问题描述 我在使用sourcetree往github提交工程时&#xff0c;UserSettings/Layouts/default-2021.dwlt文件无缘无故每次都被暂存。 尽管我在.gitignore文件中反复修改忽略路径&#xff0c;该文件始终无法被屏蔽。如下图 解决办法 在网上找了很多资料&#xff0c;最终找到了…

Qt扫盲-QListWidget理论总结

QListWidget理论总结1. 概念2. 添加列表项3. 列表其他属性4. 常用信号5. 槽函数6. QListWidgetItem 简述1. 概念 QListWidget 是一个继承自 QListView 的类&#xff0c;其实就是 QListView 的一个很经典的 列表 交互控件&#xff0c;在QListWidget 里面提供了非常方便的基于 每…