2024.4.2-day07-CSS 盒子模型(显示模式、盒子模型)


个人主页:学习前端的小z
个人专栏:HTML5和CSS3悦读
本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论!


文章目录

    • 作业
  • 2024.4.2 学习笔记
    • CSS标签元素显示模式
      • 1 块元素
      • 2 行内元素
      • 3 行内块元素
      • 4 行内模式
      • 5 标签元素的显示与隐藏
      • 6 置换元素
    • css盒子模型
      • 1 盒子模式组成
      • 2 怪异盒子模型

作业

在这里插入图片描述

<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta name="首页" content="首页">
        <meta description="首页" content="首页">
        <title>手机列表</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            ul, ol {
                list-style: none;
            }
            .mobile-list {
                width: 1030px;
                margin: 50px auto 0;
                text-align: center;
            }
            .mobile-list>li {
                box-sizing: border-box;
                width: 250px;
                display: inline-block;
                border: 1px solid;
            }

            .mobile-list .title{
                font-size: 14px;
                font-weight: 400;
                line-height: 42px;
            }
            .mobile-list .desc {
            font-size: 12px;
            color: #B0B2B9;
            }

            .mobile-list .price {
                font-size: 12px;
                color: #444;
                line-height: 28px;
            }

            .mobile-list .num {
                color: red;
            }
        </style>
    </head>
    <body>
        <ul class="mobile-list">
            <li>
                <div><img src="./images/1.webp" width="200"></div>
                <h3 class="title">小米10 青春版 5G</h3>
                <div class="desc">50倍潜望式变焦/轻薄5G手机</div>
                <div class="price"><span class="num">2099</span>元起</div>
            </li>
            <li>
                <div><img src="./images/1.webp" width="200"></div>
                <h3 class="title">小米10 青春版 5G</h3>
                <div class="desc">50倍潜望式变焦/轻薄5G手机</div>
                <div class="price"><span class="num">2099</span>元起</div>
            </li>
            <li>
                <div><img src="./images/1.webp" width="200"></div>
                <h3 class="title">小米10 青春版 5G</h3>
                <div class="desc">50倍潜望式变焦/轻薄5G手机</div>
                <div class="price"><span class="num">2099</span>元起</div>
            </li>
            <li>
                <div><img src="./images/1.webp" width="200"></div>
                <h3 class="title">小米10 青春版 5G</h3>
                <div class="desc">50倍潜望式变焦/轻薄5G手机</div>
                <div class="price"><span class="num">2099</span>元起</div>
            </li>
            
        </ul>

    </body>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html>
    <head>
        <meta chaset="UTF-8">
        <meta name="测试1" content="测试1">
        <meta desciption="测试1" content="测试1">
        <title>测试1</title>
        <style>
            div {
                text-align:center;
                font-size:50px;
            }
            .none {
                display:none;
            }
            .hidden {
                visibility:hidden;
            }
        </style>
    </head>
    <body>
        <div>
            <p><span>姓名</span>
                <span class="none">学号</span>
                <span>班级</span>
                <span class="hidden">性别</span>
                <span>入学年份</span>
            </p>
        </div>
    </body>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="测试2" content="测试2">
        <meta description="测试2" content="测试2">
        <title>测试2</title>
        <style>
            * {
                padding:0;
                margin:0;
            }
            h1 {
                margin-bottom:80px;
            }
            div {
                padding-top:50px;
            }
        </style>
    </head>
    <body>
        <h1>我是一个标题</h1>
        <div>我是一个div</div>
    </body>
</html>

在这里插入图片描述

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="测试3" content="测试3">
        <meta description="测试3" content="测试3">
        <title>测试2</title>
        <style>
           * {
                margin: 0;
                padding: 0;
           }
           .father {
                width: 200px;
                height:200px;
                background-color: blue;
                /* border-top: 1px solid; */
                /* padding-top: 1px; */
                overflow: hidden;
           }
           .son {
                margin-top: 20px;
                width: 100px;
                height: 100px;
                background-color: green;
           }
        </style>
    </head>
    <body>
        <div class="father">
            <div class="son"></div>
        </div>
    </body>
</html>
  1. 显示模式有哪几种?它们有什么区别?

    答:

    1.块元素:横跨一行,可设置宽高度,里面各种显示模式的元素都可以装。

    2.行内元素:一行可容纳多个行内元素,宽高度不可以设置,默认是本身内容的宽高度,里面只能装文本或其他行内元素。

    3.行内块元素:一行可容纳多个(行内元素性特点),可设置宽高度(块元素特点),里面各种显示模式的元素都可以装。

  2. 怪异盒子模型和标准盒子模型有什么区别?

    答:

    怪异盒子模型(box-sizing: border-box),也叫做内减盒模型,或者IE 盒子模型

    内减盒子模型的 宽度 高度计算 和标准盒子模型计算方式不同。

    怪异盒子模型的 content 内容宽度会把 padding 和 border 算入其中,是由外而内的计算宽度。

    怪异盒子模型当内减到负数的时候,那么表现形式和标准盒子模型差不多。

  3. 用代码实践下,重现兄弟标签元素垂直外边距合并问题和父子标签元素穿透合并的问题,并实践中解决它们?

    答:重现兄弟标签元素垂直外边距合并问题是上元素的margin-bomtoon和下元素的margin-top产生了重叠部分
    在这里插入图片描述

    解决方法:分别设置margin和padding,就可以避免重叠

    在这里插入图片描述

    对于两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值。

    在这里插入图片描述

    1.可以为父元素定义上边框。

    在这里插入图片描述

    2.可以为父元素定义上内边距。

    在这里插入图片描述

    3.可以为父元素添加 overflow:hidden。

    在这里插入图片描述

  4. 块级元素怎么居中?和text-align居中有什么区别?

    答:块级元素可以用:marigin-right: auto;margin-left: auto;进行居中。

    区别:

    1、margin: 0 auto只针对块级居中,对行内标签元素和行内块标签元素(含有inline)的无效。

    2、父级加text-align: center ,对子级的文本或者行内标签元素和行内块标签元素(含有inline)进行居中,

    对子级块级无效,由于继承性,子级块级如果没有重置text-align,子级块级孙子含有inline是有效的。

  5. display:none和visibility:hidden有什么区别?用代码实践下。

    答:disply:none是相当于元素直接删除,不仅不显示,原来的位置也没了;

    visibility:hidden是不显示元素,是原来的位置还在,只是不显示内容了。

在这里插入图片描述

在这里插入图片描述

2024.4.2 学习笔记

CSS标签元素显示模式

查询chrome的computed的display

1 块元素

display:block | list-item | table类;

宽度为容器父级的百分之百,横跨一行,高度是自动的

里面什么都能装,特例:p标签里面不能放语义上块级元素,它只能存放段落,p>div不能失效,p标签可以包含行内元素

在这里插入图片描述
在这里插入图片描述

2 行内元素

display: inline;

一行可以显示多个行内元素,内容太长会自动折行,垂直方向宽高设置是无效的 。默认的宽高度就是内容本身的宽高度。

行内元素只能包含文本和行内元素。

特例:a标签里不能包含a标签,会解析错误

在这里插入图片描述

在这里插入图片描述

行内元素转换块级元素

在这里插入图片描述

在这里插入图片描述

行内元素之间无论打多少个空格都只能解析出一个

3 行内块元素

disply:inline-block;

和块级元素相比,它不会独占一行

和行内块元素相比,它可以设置宽高度

4 行内模式

5 标签元素的显示与隐藏

display的隐藏不会占原来的位置,visibility的隐藏会占原来的位置。

行内元素就是靠内容进行撑开的

img图片只要设置一个宽或者高度,就会自动按比例

6 置换元素

img

如果可以给inline行内元素通过样式设置宽高的一般都是置换元素。

大多数行内元素不能直接设置宽高度,只有少数的置换元素可以

css盒子模型

1 盒子模式组成

margin:外边距

border:边框 border: 1px solid red;

padding:内边距

css的宽高是内容的宽高,不包括上面那三个

宽度=width +padding(左右)+border(左右)

高度=height +padding(上下)+border(上下)

设置padding:

一个值:上下左右

两个值:上下,左右

三个值:上,左右,下

四个值:上,右,下,左

在这里插入图片描述

居中:

只能对块级元素有效:margin-right:auto;margin-left:auto;

inline行内元素要用text-align=center进行居中;block元素也可以用text-align居中

在这里插入图片描述

inline-block没设置宽高度,宽高度就和内容一致。

行内元素只能在水平方向上设置margin,padding样式;

块级元素上下左右都可以设置样式

block设置了 width 后,右侧会用margin-right自动铺满,所以 block 设置width 还是独占一行

清除内外边距:

  • {
    padding:0; /* 清除内边距 /
    margin:0; /
    清除外边距 */
    }

上下盒子的margin-bottom和margin-top可以合并

如何避免?padding和margin分别设置,避免冲突。

background-color:设置背景颜色

嵌套块元素垂直外边距的塌陷:overflow:hidden;

让文字的行高等于盒子的高度,可以让文字在当前盒子内垂直居中;

2 怪异盒子模型

box-sizing: border-box

padding增大会内减

怪异盒子模型当内减到负数的时候,那么表现形式和标准盒子模型差不多。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux | MySQL安装Workbench图形化

环境:rhel8 MySQL8 下载软件包 官网软件包地址&#xff1a; MySQL &#xff1a;&#xff1a; 下载 MySQL Workbenchhttps://dev.mysql.com/downloads/workbench/我这里下载的是 mysql-workbench-community-8.0.24-1.el8.x86_64.rpm 解决依赖 用rpm安装发现缺少依赖 [rooth…

3dmax经常染失败?优化方法提升染质量!

在三维建模和渲染的过程中&#xff0c;优化模型和场景的效率是至关重要的。以下是一些提升效率的方法&#xff1a; 模型简化&#xff1a;在创建模型时&#xff0c;应尽量减少使用的命令和修改器的数量。这是因为命令和修改器越多&#xff0c;消耗的内存和CPU资源也就越多&…

FJSP:巨型犰狳优化算法(Giant Armadillo Optimization,GAO)求解柔性作业车间调度问题(FJSP),提供MATLAB代码

一、柔性作业车间调度问题 柔性作业车间调度问题&#xff08;Flexible Job Shop Scheduling Problem&#xff0c;FJSP&#xff09;&#xff0c;是一种经典的组合优化问题。在FJSP问题中&#xff0c;有多个作业需要在多个机器上进行加工&#xff0c;每个作业由一系列工序组成&a…

大米自动化生产线设备:现代粮食加工的核心力量

随着科技的不断进步和粮食加工行业的快速发展&#xff0c;大米自动化生产线设备在现代粮食加工中的地位愈发重要。这些设备不仅大大提高了生产效率&#xff0c;还保证了产品的质量和安全&#xff0c;成为了现代粮食加工行业不可或缺的核心力量。 一、自动化生产线设备助力效率提…

达托机器人(DRB)平台的安全性和前景是否可靠?

在当今数字化时代&#xff0c;技术创新不仅是企业成功的关键&#xff0c;也是整个行业的驱动力。在这个背景下&#xff0c;达托机器人&#xff08;DRB&#xff09;脱颖而出&#xff0c;以其创世团队的坚实基础和平台的可靠前景&#xff0c;引起了业界的广泛关注。 首先&#xf…

消息队列MQ(面试题:为什么使用MQ)

一、什么是mq? MQ全称 Message Queue&#xff08;消息队列&#xff09;&#xff0c;是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信&#xff0c;解耦。 二、常见的mq产品 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq RabbitMQ: One broker …

人工智能、深度伪造和数字身份:企业网络安全的新前沿

深度伪造&#xff08;Deepfakes&#xff09;的出现打响了网络安全军备竞赛的发令枪。对其影响的偏执已经波及到一系列领域&#xff0c;包括政治错误信息、假新闻和社交媒体操纵。 深度伪造将加剧公共领域对信任和沟通的本已严峻的压力。这将理所当然地引起监管机构和政策制定者…

java.lang.NoClassDefFoundError: javax/validation/constraints/Min

1、报错截图 2、解决办法 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency>

浮点数在内存中的存储【详解】

浮点数在内存中的存储 浮点数存储规则小数点后数值的二进制转换float和double存储图示优化存储方案E不全为0或不全为1E全为0E全为1 浮点数存储规则 大家都知道整型数据是以补码的方式存放在内存中。以下几个概念是需要知道的&#xff1a; 原码&#xff0c;补码&#xff0c;反…

C++入门语法(命名空间缺省函数函数重载引用内联函数nullptr)

目录 前言 1. 什么是C 2. C关键字 3. 命名空间 3.1 命名空间的定义 3.2 命名空间的使用 4. C输入和输出 5. 缺省函数 5.1 概念 5.2 缺省参数分类 6. 函数重载 6.1 概念 6.2 为何C支持函数重载 7. 引用 7.1 概念 7.2 特性 7.3 常引用 7.4 引用与指针的区别 7…

docker-compose安装dozzle

dozzle是一个docker日志的webui工具 安装配置 docker-compose.yaml version: "3" services:dozzle:container_name: dozzleimage: amir20/dozzle:v4.11.4volumes:- /var/run/docker.sock:/var/run/docker.sockrestart: unless-stoppedports:- 20342:8080networks:cu…

人工智能 - 服务于谁?

人工智能服务于谁&#xff1f; 人工智能服务于生存&#xff0c;其最终就是服务于战争&#xff08;热战、技术战、经济战&#xff09; 反正就是为了活着而战的决策。 既然人工智能所有结果&#xff0c;来自大数据的分挖掘&#xff08;分析&#xff09;也就是数据的应用&#x…

施耐德中高端PLC仿真器

参考文档&#xff1a;《Unity Pro PLC 仿真器》EIO0000001719.06 &#xff08;Control Expert 就是 Unity Pro 最新版本换了个名字&#xff0c;两者操作基本相同&#xff09; https://www.schneider-electric.cn/zh/download/document/EIO0000001719/ 1. 适用 PLC 这里使用的…

idea常用配置

IDEA设置全局配置 参考&#xff1a;IDEA设置全局配置_idea如何打开一个项目,全局设置-CSDN博客 idea提交代码到git或svn上时&#xff0c;怎么忽略.class、.iml文件和文件夹等不必要的文件 参考&#xff1a;idea提交代码到git或svn上时&#xff0c;怎么忽略.class、.iml文件和文…

【Frida】【Android】 工具篇:查壳工具大赏

&#x1f6eb; 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…

MIT6.828 Lab1 Xv6 and Unix utilities

2023MIT6.828 lab-1 官方地址 一、sleep 实验内容 调用sleep&#xff08;系统调用&#xff09;编写用户级别程序能暂停特定时常的系统滴答程序保存在user/sleep.c 实验过程 xv6的参数传递 查看官方文档提示的文件中&#xff0c;多采用如下定义&#xff1a; int main(in…

window安装maven和hadoop3.1.4

前面的文章已讲解如何安装idea和进行基本设置&#xff0c;本文主要带着大家安装配置好maven和hadoop. 大家不用去官网下载&#xff0c;直接使用我发给大家的压缩文件&#xff0c;注意解压后的文件夹不要放在中文目录下&#xff0c;课堂上我们讲解过原因。 这是我电脑上的路径&a…

#QT项目实战(天气预报)

1.IDE&#xff1a;QTCreator 2.实验&#xff1a; 3.记录&#xff1a; &#xff08;1&#xff09;调用API的Url a.调用API获取IP whois.pconline.com.cn/ipJson.jsp?iphttp://whois.pconline.com.cn/ipJson.jsp?ip if(window.IPCallBack) {IPCallBack({"ip":&quo…

Java 外观模式

外观模式隐藏了系统的复杂性。 它为客户端提供了一个简单的接口&#xff0c;客户端使用接口与系统交互。 外观模式是结构型模式。 例子 class ShapeFacade {interface Shape {void draw();}class Rectangle implements Shape {Overridepublic void draw() {System.out.prin…

Win主机拷贝文件到Ubuntu虚拟机

之前在虚拟机Ubuntu16.04版本拷贝文件没有遇到问题&#xff0c;今天新装了Ubuntu20.04无法直接拖拽或者拷贝粘贴。 1安装open-vm-tools sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools-desktop sudo reboot2禁用Wayland sudo gedit /etc/gdm3/…