浮动+flex布局

一.浮动

1.介绍

2.效果

<style>

        .one{

            width: 100px;

            height: 100px;

            background-color: red;

            float: left;

        }

        .two{

            width: 200px;

            height: 200px;

            background-color: blue;

            float: right;

        }

    </style>

</head>

<body>

    <div class="one">爱</div>

    <div class="two">keadasf</div>

</body>

如果两个都是left,则效果为:

!!!如果只给一个div加float属性的话,会导致两个盒子重叠!!!

例如将.two中的float属性去掉,事实上只有.one才被系统承认

3.特点

顶对齐

具备行内块特点

脱离标准流

父级宽度不够,子级会浮动换行

4.案例

产品区域布局

4.1.效果

4.2代码

<style>

        *{

            margin: 0;

            padding: 0;

        }

        li{

            list-style: none;

        }

        .product{

            margin: 50px auto;

            width: 1229px;

            height: 628px;

            background-color: pink;

        }

        .left{

            width: 234px;

            height: 628px;

            background-color: red;

            float: left;

        }

        .right{

            width: 978px;

            height: 628px;

            background-color: blue;

            float: left;

        }

        .right li{

            margin-bottom: 14px;

            margin-right: 14px;

            width: 234px;

            height: 300px;

            background-color: orange;

            float: left;

        }

        .right li:nth-child(4n){

            margin-right: 0;

        }

    </style>

</head>

<body>

    <div class="product">

        <div class="left"></div>

        <div class="right">

            <ul>

                <li></li>

                <li></li>

                <li></li>

                <li></li>

                <li></li>

                <li></li>

                <li></li>

                <li></li>

            </ul>

        </div>

    </div>

</body>

</html>

4.3总结

(1)父级宽度不够,浮动的盒子会掉下来

(2)可以利用无序列表的:nth-child()取消部分盒子的内外边框

(3)版心居中 margin:上下 auto   (左右设置为auto即可)

二.清除浮动

1.介绍

<style>

        *{

            margin: 0;

            padding: 0;

        }

        .product{

            margin: 20px auto;

            width: 900px;

            height: 600px;

            background-color: pink;

        }

        .left{

            width: 200px;

            height: 600px;

            background-color: red;

            float: right;

        }

        .right{

            width: 700px;

            height: 600px;

            background-color: blue;

            float: left;

        }

        .box{

            height: 100px;

            background-color: black;

        }

    </style>

</head>

<body>

    <div class="product">

        <div class="left"></div>

        <div class="right"></div>

    </div>

    <div class="box"></div>

正常情况

当父级product没设置高度时:

product高度化为0,底下的box直接上移,影响布局

2.清除浮动方法

2.1额外标签法

在父元素内容的最后添加一个块元素,并设置CSS属性   clear:both   (其中除了both还有left,right指去除xx方向的浮动影响)

 .clearfex{

            clear: both;

        }

   ........

    <div class="product">

        <div class="left"></div>

        <div class="right"></div>

        <div class="clearfex"></div>

    </div>

    <div class="box"></div>

2.2单伪元素法

.clearfex::after{

            content: "";                            /*伪元素法必须要有content属性,否则无法生效*/

            display: block;

            clear: both;

        }

   ..........

<div class="product clearfex">                     /*top要调用clearfex*/

        <div class="left"></div>

        <div class="right"></div>

    </div>

    <div class="box"></div>

2.3双伪元素法(推荐)

/*其中before是为了解决外边距塌陷问题,子级设置的外边距可能会将父级下拉)*/

.clearfex::before,

        .clearfex::after{

            content: "";

            display: table;

        }

        .clearfex::after{

            clear: both;

        }

............

<div class="product clearfex">

        <div class="left"></div>

        <div class="right"></div>

    </div>

    <div class="box"></div>

2.4 overflow属性

剪掉超出父级的选项

overflow:hidden

2.5效果

自动撑开高度,高度为子级中最大的高度。

三.flex布局(常用)

1.介绍

2.创建flex容器(display:flex)

.box{

            /* 将盒子变为弹性布局 */

            display: flex;

            justify-content: space-between;

            /* 如果去掉height,高度根据内容浮动,不会脱标 */

            height: 300px;

            border: 1px solid black;

        }

关于拉伸和挤压:如果子级设置了宽高,由于较多子级,则自动挤压子级的原有宽度。如果子级没有设置高度,则自动将子级拉伸为与父级盒子同高。

3.主轴对齐 (justify-content)

常用后四个属性值

4.侧轴对齐方式

!!!注意:一个是全部,一个是单独处理

!!!stretch必须不设置弹性盒子的高度才能实现拉伸

!!!控制单个盒子使用伪类选择器:

.box div:nth-child(2){

            align-self: center;

        }

5.修改主轴方向(flex-direction)

!!!重点记住column,如果主轴方向变化,则侧轴也会跟着变主侧两轴始终垂直

6.弹性伸缩比(flex)

.box div:nth-child(2){

            flex: 1;

        }

弹性盒子2占父级除13外的尺寸一大份。

.box div:nth-child(2){

            flex: 1;

        }

        .box div:nth-child(3){

            flex: 3;

        }

除去盒子1,弹性盒子23分别占剩余父级尺寸的1/4和3/4。

7.弹性换行(flex-wrap)

8.弹性行对齐(align-content)

!!!和主轴对齐的属性值相同

!!!弹性行对齐对单行弹性盒子不生效,所以记得换行flex-wrap

四.案例

抖音解决方案

1.效果

2.代码

大体思路为:

1.清除格式

2.大盒子嵌套四个小盒子,四个小盒子可使用无序列表(无序列表属于行标签,记得转换为弹性盒子)

3.设置大盒子:盒子大小,盒子版心位置,边框线,是否圆角等性质。

4.无序列表转弹性盒子,调整各盒子在主轴对齐方式,换行,行对齐方式,内外边距等性质。

5.四个小盒子设置宽高,里面分两个小盒子,一个图片一个文本,转为弹性两个小盒子。

6.设置两个弹性小盒子在主侧轴的分布方式,盒子背景颜色等。

7.单独设置两盒子里面的图片格式和文字大小等性质。

<title>抖音解决方案</title>

    <style>

        *{

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }

        li{

            list-style: none;

        }

        /*以上为清除格式*/

        .box{

            margin: 200px auto;

            border-radius:20px;

            width: 800px;

            height: 400px;

            border: 2px solid black;

        }

        .box ul{

            display: flex;

            justify-content: space-between;  /*调整主轴方向对齐方式*/

            flex-wrap: wrap;  /*弹性盒子换行*/

            align-content: space-around;      /*行对齐*/

            padding: 30px 20px 30px 20px;

            height: 400px;

        }

        .box li{

            width: 360px;

            height: 150px;

            display: flex;

            justify-content: center;

            align-items: center;

            background-color: white;

        }

        .box .pic1{

            margin-right: 15px;

        }

        .box .text1 h4{

            font-size: 18px;

            line-height: 30px;

        }

        .box .text1 p{

            font-size: 15px;

            color: #666;

        }

       

    </style>

</head>

<body>

    <div class="box">

        <ul>

            <li>

                <div class="pic1">

                    <img src="./抖音解决方案1.png" alt="">

                </div>

                <div class="text1">

                    <h4>一键发布多域</h4>

                    <p>发布头条i需要官网确认,比如新闻</p>

                </div>

            </li>

            <li>

                <div class="pic1">

                   <img src="./抖音解决方案2.png" alt="">

                </div>

                <div class="text1">

                   <h4>一键发布多域</h4>

                   <p>发布头条i需要官网确认,比如新闻</p>

                </div>

            </li>

            <li>

                <div class="pic1">

                   <img src="./抖音解决方案3.png" alt="">

                </div>

                <div class="text1">

                    <h4>一键发布多域</h4>

                    <p>发布头条i需要官网确认,比如新闻</p>

                </div>

            </li>

            <li>

                <div class="pic1">

                    <img src="./抖音解决方案4.png" alt="">

                </div>

                <div class="text1">

                    <h4>一键发布多域</h4>

                    <p>发布头条i需要官网确认,比如新闻</p>

                </div>

            </li>

        </ul>

    </div>

</body>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

没有对象来和我手撕红黑树吧

1. 红黑树的介绍 红黑树也是一种自平衡的二叉搜索树&#xff0c;在每一个节点增加了一个存储位来表示节点的颜色&#xff0c;可以是红色也可以是黑色&#xff0c;通过约束颜色来维持树的平衡&#xff0c;具有以下的性质&#xff1a; 每个节点不是红色就是黑色根节点为黑色如果…

深入理解gPTP时间同步过程

泛化精确时间协议(gPTP)是一个用于实现精确时间同步的协议,特别适用于分布式系统中需要高度协调的操作,比如汽车电子、工业自动化等。 gPTP通过同步主节点(Time Master)和从节点(Time Slave)的时钟,实现全局一致的时间参考。 以下是gPTP实现主从时间同步的详细过程:…

rom定制系列------红米note8_miui14安卓13定制修改固件 带面具root权限 刷写以及界面预览

&#x1f49d;&#x1f49d;&#x1f49d;红米note8机型代码&#xff1a;ginkgo。高通芯片。此固件官方最终版为稳定版12.5.5安卓11的版本。目前很多工作室需要高安卓版本的固件来适应他们的软件。并且需要root权限。根据客户要求。修改固件为完全root。并且修改为可批量刷写的…

MicroServer Gen8再玩 OCP万兆光口+IT直通之二

这个接上一篇&#xff0c;来个简单测试。 一、测试环境 PC端&#xff1a;Win10&#xff0c;网卡&#xff1a;万兆光纤&#xff08;做都做了&#xff0c;都给接上&#xff09;&#xff0c;硬盘使用N年的三星SSD 840 交换机&#xff1a;磊科GS10&#xff0c;带两个万兆口 Gen…

怎么理解ES6 Proxy

Proxy 可以理解成&#xff0c;在目标对象之前架设一层 “拦截”&#xff0c;外界对该对象的访问&#xff0c;都必须先通过这层拦截&#xff0c;因此提供了一种机制&#xff0c;可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理&#xff0c;用在这里表示由它来 “代理…

揭秘代码界的新挑战:低代码平台,为何让程序员头疼不已?

我最近在网上看到一个很有趣的话题&#xff1a;为什么程序员大多讨厌低代码&#xff1f;好家伙&#xff0c;这一下子就将低代码推到了程序员的对立面&#xff0c;两者直接到了水火不容的地步。 其实低代码倒也不是什么新鲜事物&#xff0c;它是一种只需用很少甚至不需要代码即可…

APP如何提升关键词排名?

提升关键词排名是ASO&#xff08;App Store Optimization&#xff09;策略中的关键环节&#xff0c;以下是一些有效的方法来提高App在应用商店中的关键词排名&#xff1a; 1. **关键词研究**&#xff1a; - 使用专业的ASO工具进行关键词研究&#xff0c;找出与你的App相关且…

ClickHouse 3节点集群安装

ClickHouse 简介 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 官方网站&#xff1a;https://clickhouse.com/ 项目地址&#xff1a;https://github.com/ClickHouse/ClickHouse 横向扩展集群介绍 此示例架构旨在提供可扩展性。它包括三个节点&#xff…

基于springboot的在线投票系统,比赛实时投票平台的实现

1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a;windows 7…

UE4安卓打aab包时,同时存在“gradle”、“arm64/gradle”两个Gradle工程的原因

两个Gradle工程的现象 在出安卓aab包时&#xff0c;观察到存在以下两个Gradle工程&#xff1a; 1、Intermediate\Android\arm64\gradle &#xff08;称为arm64的Gradle&#xff09; 2、Intermediate\Android\gradle&#xff08;称为根下的Gradle&#xff09; 它们存在一些小…

在IDEA中运行Mybatis后发现取出的password值为null

问题&#xff1a; 解决方案&#xff1a;修改sql文如下&#xff08;取别名&#xff09; Select("select id,name,pwd as password from user where id #{id}") 重新运行即可

股票基础交易规则!最小变动数量规则!最大数量限制规则!

股票基础交易规则系列 数量规则 01 最小变动数量规则 沪深主板、创业板&#xff1a;单笔申报数量应当为100股或其整数倍。 科创板&#xff1a;单笔申报数量应当不小于200股&#xff0c;1股递增。 北交所&#xff1a;单笔申报数量应当不小于100股&#xff0c;1股递增。 举例…

Selenium自动化测试框架详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 设计思路 本文整理归纳以往的工作中用到的东西&#xff0c;现汇总成基础测试框架提供分享。 框架采用python3 selenium3 PO yaml ddt unittest等技术编写…

ChangeCLIP环境配置

看到有个现成的dockerfile&#xff0c;先试试 ok首先需要root权限的用户 才能用docker&#xff0c;其次要外网&#xff0c;要不然有些东西好像下载不了 &#xff08;失败&#xff09; 那就直接配吧 我看12服务器上有个openmmlab的环境&#xff0c;先基于这个环境吧 # 用lx账…

【MATLAB源码-第272期】基于matlab的OMP算法的毫米波MIMO通信系统的混合波束成形仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 在现代无线通信系统中&#xff0c;随着频谱资源的日益紧张&#xff0c;毫米波&#xff08;mmWave&#xff09;技术成为5G及未来通信系统的重要组成部分。毫米波频段的宽频带提供了远超传统微波频段的频谱资源&#xff0c;能够…

【python】OpenCV—findContours(4.3)

文章目录 1、功能描述2、代码实现3、完整代码4、结果展示5、涉及到的库函数5.1、cv2.Canny5.2 cv2.boxPoints 6、参考 1、功能描述 找出图片中的轮廓&#xff0c;拟合轮廓外接椭圆和外接矩阵 2、代码实现 导入必要的库&#xff0c;固定好随机种子 import cv2 as cv import …

直播推流和拉流--系统篇

今天实现一下直播推流和拉流。服务器端使用opencloudos8系统。顺便把我之前写的小系统弄上去跑跑&#xff0c;搭建个git服务器&#xff0c;使用ssh协议&#xff0c;密钥方式。 先展示一下在iphone上推流效果图 再展示下在谷歌浏览器上的拉流效果图&#xff0c;safari浏览器和微…

安全芯片 OPTIGA TRUST M 使用介绍与示例(基于STM32裸机)

文章目录 目的资料索引硬件电路软件框架介绍数据存储框架移植框架使用 使用示例示例地址与硬件连接通讯测试功能测试 总结 目的 OPTIGA TRUST M 是英飞凌推出的安全芯片&#xff0c;芯片通提供了很多 slot &#xff0c;用于存放各类安全证书、密钥、用户数据等&#xff0c;内置…

数据结构 之 二叉树遍历 ------中序(根)遍历 和 后序(根)遍历(六)

提示&#xff1a;本篇章主要讲解数据结构中树的相关知识。 文章目录 中序&#xff08;根&#xff09;遍历二叉树&#xff08;LTR&#xff09;后序&#xff08;根&#xff09;遍历二叉树&#xff08;LRT)中根遍历二叉树的递归算法 &#xff08;重要&#xff09;后序遍历二叉树的…

数据结构 ——— 二叉树的概念及结构

目录 二叉树的概念 特殊的二叉树 一、满二叉树 二、完全二叉树 二叉树的概念 二叉树树示意图&#xff1a; 从以上二叉树示意图可以看出&#xff1a; 二叉树每个节点的度不大于 2 &#xff0c;那么整个二叉树的度也不大于 2 &#xff0c;但是也不是每个节点都必须有 2 个…