css 伪元素和浮动

news2024/12/26 14:00:22

展示为行内元素 inline-block

 <style>
        div {
            /* 浏览器解析行内块或行内标签的时候, 如果标签换行书写会产生一个空格的距离, 展示为行内元素 */
            display: inline-block;
            width: 100px;
            height: 100px;
        }

        .one {
            background-color: pink;
        }

        .two {
            background-color: skyblue;
        }
        
    </style>
 <div class="one">one</div><div class="two">two</div>
    <div class="one">换行会有空格</div>

效果

伪元素

CSS 伪元素用于设置元素指定部分的样式。

例如,它可用于:

设置元素的首字母、首行的样式
在元素的内容之前或之后插入内容
在这里插入图片描述

h1::before {
  content: url(/i/photo/smile.gif);
}
<h1>这是一个标题</h1>

<p>::before 伪元素在一个元素的内容之前插入内容。</p>

<h1>这是一个标题</h1>

效果
在这里插入图片描述

浮动

早期:图文环绕
现在:网页布局

图文环绕

 img {
            float: left;
        }
        
        
        
        
<h1>向左浮动</h1>

<p>在本例中,图像会在段落中向右浮动,而段落中的文本会包围这幅图像。</p>

<p><img src="../img/result.jpg" alt="W3School" style="width:170px;height:170px;margin-left:15px;">
领先的 Web 技术教程 - 全部免费。在 W3School,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP。
我们的参考手册涵盖了网站技术的方方面面。其中包括W3C标准技术:HTML、CSS、XML 。以及其他技术,诸如 JavaScript、PHP、SQL 等。
在 W3School,我们提供上千个实例。通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验。在 W3School,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP。
我们的参考手册涵盖了网站技术的方方面面。其中包括W3C标准技术:HTML、CSS、XML 。以及其他技术,诸如 JavaScript、PHP、SQL 等。
在 W3School,我们提供上千个实例。通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验在 W3School,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP。
我们的参考手册涵盖了网站技术的方方面面。其中包括W3C标准技术:HTML、CSS、XML 。以及其他技术,诸如 JavaScript、PHP、SQL 等。
在 W3School,我们提供上千个实例。通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验在 W3School,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP。
我们的参考手册涵盖了网站技术的方方面面。其中包括W3C标准技术:HTML、CSS、XML 。以及其他技术,诸如 JavaScript、PHP、SQL 等。
在 W3School,我们提供上千个实例。通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验在 W3School,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP。
我们的参考手册涵盖了网站技术的方方面面。其中包括W3C标准技术:HTML、CSS、XML 。以及其他技术,诸如 JavaScript、PHP、SQL 等。
在 W3School,我们提供上千个实例。通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验在 W3School,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP。
我们的参考手册涵盖了网站技术的方方面面。其中包括W3C标准技术:HTML、CSS、XML 。以及其他技术,诸如 JavaScript、PHP、SQL 等。
在 W3School,我们提供上千个实例。通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验在 W3School,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP。
我们的参考手册涵盖了网站技术的方方面面。其中包括W3C标准技术:HTML、CSS、XML 。以及其他技术,诸如 JavaScript、PHP、SQL 等。
在 W3School,我们提供上千个实例。通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验在 W3School,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP。
我们的参考手册涵盖了网站技术的方方面面。其中包括W3C标准技术:HTML、CSS、XML 。以及其他技术,诸如 JavaScript、PHP、SQL 等。
在 W3School,我们提供上千个实例。通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验在 W3School,你可以找到你所需要的所有的网站建设教程。从基础的 HTML 到 CSS,乃至进阶的 XML、SQL、JS、PHP。
我们的参考手册涵盖了网站技术的方方面面。其中包括W3C标准技术:HTML、CSS、XML 。以及其他技术,诸如 JavaScript、PHP、SQL 等。
在 W3School,我们提供上千个实例。通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验</p>


在这里插入图片描述

浮动特点

浮动的标签 顶对齐

浮动: 在一行排列, 宽高生效 – 浮动后的标签具备行内块特点

    <style>
        /* 浮动的标签  顶对齐 */
        /* 浮动: 在一行排列, 宽高生效 -- 浮动后的标签具备行内块特点 */
        .one {
            width: 100px;
            height: 100px;
            background-color: pink;

            float: left;

            margin-top: 50px;
        }

        .two {
            width: 200px;
            height: 200px;
            background-color: skyblue;

            float: left;

            /* 因为有浮动, 不能生效 - 盒子无法水平居中 */
            margin: 0 auto;
        }

        .three {
            width: 300px;
            height: 300px;
            background-color: orange;
        }
    </style>
<div class="one">one</div>
    <div class="two">two</div>
    <div class="three">three</div>

在这里插入图片描述

受浮动影响的情况

父子级标签, 子级浮动, 父级没有高度, 后面的标准流盒子会受影响, 显示到上面的位置

 .top {
            margin: 0 auto;
            width: 1000px;
            /* height: 300px; */
            background-color: pink;
        }

        .bottom {
            height: 100px;
            background-color: green;
        }

        .left {
            float: left;
            width: 200px;
            height: 300px;
            background-color: #ccc;
        }

        .right {
            float: right;
            width: 790px;
            height: 300px;
            background-color: skyblue;
        }
 <!-- 父子级标签, 子级浮动, 父级没有高度, 后面的标准流盒子会受影响, 显示到上面的位置 -->
    <div class="top">
        <div class="left"></div>
        <div class="right"></div>
    </div>
    <div class="bottom"></div>

在这里插入图片描述

清除浮动-解决受浮动影响的情况

清除浮动带来的影响

影响:如果子元素浮动了,此时子元素不能撑开标准流的块级父元素

- 清除浮动的方法

1. 直接设置父元素高度-如果父级没有高度就有影响
2. 额外标签
  • 在父元素内容的最后添加一个块级元素

  • 给添加的块级元素设置 clear:both;

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .top {
            margin: 0 auto;
            width: 1000px;
            /* 这里高度给禁用 好显示受浮动影响的效果 */
            /* height: 300px; */
            background-color: pink;
        }

        .bottom {
            height: 100px;
            background-color: green;
        }

        .left {
            float: left;
            width: 200px;
            height: 300px;
            background-color: #ccc;
        }

        .right {
            float: right;
            width: 790px;
            height: 300px;
            background-color: skyblue;
        }

        .clearfix {
            /* 清除左右两侧浮动的影响 */
            clear: both;
        }
    </style>
</head>
<body>
    <!-- 父子级标签, 子级浮动, 父级没有高度, 后面的标准流盒子会受影响, 显示到上面的位置 -->
    <div class="top">
        <div class="left"></div>
        <div class="right"></div>
        <div class="clearfix"></div>
    </div>
    <div class="bottom"></div>
</body>
</html>

在这里插入图片描述

3. 单伪元素清除法

用伪元素替代了额外标签

优点:直接给标签加类即可清除浮动

  1. 基本写法
.clearfix::after {
  content: '';
  display: block;
  clear: both;
}

  1. 补充写法
.clearfix::after {
  content: '';
  display: block;
  clear: both;

  /* 兼容低版本IE */
  height: 0;
  visibility: hidden;
}
4. 双伪元素清除法
/* 解决外边距塌陷问题 */
.clearfix::before,
.clearfix::after {
  content: '';
  display: table;
}

.clearfix::after {
  clear: both;
}
给父元素设置 overflow:hidden
overflow: hidden;
<style>
    /* 初始化样式 */
    * {
        margin: 0;
        padding: 0;
    }

    /* 外层容器 */
    .box {
        background-color: #ccc;
        /* margin: 0 auto; */
    }

    /* 左边 */
    .left {
        float: left;
        width: 200px;
        height: 200px;
        background-color: pink;
    }

    /* 右边 */
    .right {
        float: right;
        background-color: green;
        width: 200px;
        height: 200px;
    }

    .footer {
        height: 20px;
        background-color: saddlebrown;
    }

    .clearfix::before,
    .clearfix::after {
        content: '';
        display: table;
    }

    .clearfix::after {
        clear: both;
    }
</style>

<!-- 清除浮动 -->
<div class="box clearfix">
    <div class="left"></div>
    <div class="right"></div>
</div>

<!-- 期望footer元素紧跟box下面排列 -->
<div class="footer"></div>

上面几种效果都是下图的,清除浮动后效果

在这里插入图片描述

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

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

相关文章

基于OpenCV 实现车牌号码识别--附免费源码

在本教程中,您将学习如何使用 OpenCV 和 EasyOCR 包自动执行车牌/车牌识别 (LPR/NPR)。 EasyOCR是一个开源 Python 包,用于执行光学字符识别 - OCR(从图像中提取文本)。 该软件包非常易于使用,在撰写本文时,它支持 80 多种语言,包括中文、阿拉伯语、法语、英语、西里尔…

多元回归预测 | Matlab主成分分析PCA降维,BP神经网络回归预测。PCA-BP回归预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab主成分分析PCA降维,BP神经网络回归预测。PCA-BP回归预测模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量 warnin…

【脚本语言】Shell Script - 日期的获取、设置和延时操作

目录 基础概念 基础语法 打印当前日期 打印纪元时 将日期转换为纪元时 打印要求格式的日期 设置日期和时间 基础概念 Bash可以帮助我们以不同的格式打印日期、设置日期&#xff0c;又或根据日期或时间进行操作等。 在类Unix系统中&#xff0c;日期被存储为一个整数&#xff0…

阿里云服务器架构x86、GPU、ARM、裸金属和超级计算集群说明

阿里云服务器架构有什么区别&#xff1f;X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、超级计算集群有什么区别&#xff1f;阿里云服务器网分享云服务器ECS架构详细说明&#xff1a; 目录 阿里云服务器ECS架构说明 X86计算 ARM计算 GPU/FPGA/ASIC 弹性裸金属服务…

在 CI/CD流水线中运行自动化单元测试的4个原因

目录 什么是单元测试&#xff1f; C#中的单元测试示例 我需要在CI/CD 流水线中运行自动化测试吗&#xff1f; 开发人员代码验证反馈循环 预验证 步步为营 减少“另一个开发人员写了这段代码”的问题 什么是单元测试&#xff1f; 单元测试 什么是单元测试&#xff1f; 单…

【MySQL】内置函数详解

【MySQL】内置函数详解 日期函数字符串函数数学函数加密函数与其它 日期函数 --获取当前日期 mysql> select current_date(); ---------------- | current_date() | ---------------- | 2023-07-09 | ---------------- --获取当前时间 mysql> select current_time();…

ChatGLM2-6b本地部署

chatglm2-6m模型 git 地址 https://github.com/THUDM/ChatGLM2-6B 模型百度网盘地址&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1-LFcPB0H23RSpTKOECsjxw?pwd5e3d 提取码&#xff1a;5e3d 1 模型简介 ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型&#…

【高级程序设计语言C++】类与对象

2.1类的定义2.1.1 类的两种定义方式2.1.2 类的访问限定符2.1.3 C中的struct和class的区别是什么&#xff1f;2.1.4 类的实例化2.1.5 计算类对象的大小2.1.6 this指针 2.2 类的6个默认成员函数2.2.1 构造函数2.2.2 析构函数2.2.3 拷贝构造函数2.2.4 赋值运算符重载2.2.5 取地址及…

Java新特性:Lambda表达式

Java新特性&#xff1a;Lambda表达式 Lambda 表达式&#xff08;Lambda expression&#xff09;&#xff0c;也可称为闭包&#xff08;Closure&#xff09;&#xff0c;是 Java&#xff08;SE&#xff09;8 中一个重要的新特性。Lambda 表达式允许我们通过表达式来代替功能接口…

第五章——循环和关系表达式

for循环 很多情况下都需要程序执行重复的任务 #include<iostream> using namespace std; int main() {int i;for (i 0; i < 5; i){cout << "C knows loop.\n";}cout << "C knows when to stop.\n";return 0; } for循环的组成部分 …

107、基于51单片机多路无线调频对讲机系统设计(程序+原理图+PCB源文件+参考论文+外文翻译+任务书+开题报告+硬件设计资料+元器件清单等)

摘 要 对讲机作为短距离通信和移动调度指挥的重要工具,在社会各个行业都有广泛的应用。尤其是随着数字电路技术的发展&#xff0c;新型的对讲机无论在外型还是性能上相对传统的模拟对讲机都有了长足的进步。对讲机主要包含需要基站支持的集群对讲机和常规无中心对讲机两种&…

深度理解 JAVA序列化

前言 相信大家日常开发中&#xff0c;经常看到Java对象“implements Serializable”。那么&#xff0c;它到底有什么用呢&#xff1f;本文从以下几个角度来解析序列这一块知识点~ 什么是Java序列化&#xff1f;为什么需要序列化&#xff1f;序列化用途Java序列化常用API序列化…

Android 热修复一

一、什么是热修复&#xff1f; 在我们应用上线后出现bug需要及时修复时&#xff0c;不用再发新的安装包&#xff0c;只需要发布补丁包&#xff0c;在客户无感知下修复掉bug。 实现效果&#xff1a; Demo源码&#xff1a; https://gitee.com/sziitjim/hotfix 二、怎么进行热修…

极速上手k8s,Kubernetes 从入门到摸鱼系列-理论篇

1. 引言&#x1f44b; 大家好&#xff0c;我是比特桃&#xff01;随着微服务架构越来越流行&#xff0c;大规模的微服务容器编排成了一件具有挑战的事情。在这次容器化云原生的发展中&#xff0c;Docker 成了容器化的赢家&#xff0c;而 Kubernetes 则成为了容器编排的赢家。k…

「已解决」 模块““umi“” ““@umijs/max“” 没有导出的成员“useRequest” “request” 问题的所有方法汇总

背景 使用 Umi 搭建项目时候有的时候会出现这种错误&#xff0c;模块““umi”” ““umijs/max”” 没有导出的成员“useRequest” “request”。 解决 tsconfig.json "paths": {"/*": ["src/*"],"/*": ["./src/.umi/*"…

用JShaman本地部署版,加密2.7MB的Webpack生成的JS文件

JShaman是知名的JS代码保护平台。在线使用&#xff0c;一键混淆加密&#xff0c;无需注册、无需登录。可免费用&#xff0c;也有商业服务&#xff1b;有在线使用的SAAS平台网站&#xff0c;也有本地部署版。很方便、很强大&#xff0c;很专业。 今天&#xff0c;测试使用JSham…

unordered_map模拟实现|STL源码剖析系列|开散列

博主很久没有更新过STL源码剖析这个系列的文章了&#xff0c;主要是因为大部分STL常用的容器&#xff0c;博主都已经发过文章了&#xff0c;今天博主带着大家把哈希表也模拟实现一下。 前言 那么这里博主先安利一下一些干货满满的专栏啦&#xff01; 手撕数据结构https://blo…

点云最小外包矩形计算

1、原理介绍 一簇点云的最小外包矩形&#xff08;Minimum Bounding Rectangle&#xff0c;MBR&#xff09;&#xff0c;是指用一个矩形将该簇点云框起来&#xff0c;所有点云数据在矩形框内。如下图所示为一个矩形框刚好将点云数据全部包围。 下面给出一种基于最大重叠度的最小…

[工业互联-19]:如何在QT中增加SOEM主站

目录 第1章 基本步骤 第2章 详细步骤 2.1.QT安装 2.2.VS安装 2.3.Win10 Debuggers 2.4.QT配置 2.5. SOEM移植 &#xff08;&#xff11;&#xff09;lib库生成 &#xff08;2&#xff09;文件移植: 文件整理 第1章 基本步骤 要在QT中添加SOEM主站功能&#xff0c;您需…

用OpenCV创建一张灰度黑色图像并设置某一列为白色

这段代码首先创建了一个400行600列的单通道灰度图像。然后,它遍历图像中的每个像素。如果像素位于列索引为30的列中,则将该像素的值设置为255。在灰度图像中,0表示黑色,255表示白色。因此,这段代码将图像的第30列设置为白色。 在 OpenCV 中,cv::Mat 构造函数的调用 cv::…