2024.4.2-[作业记录]-day07-CSS 盒子模型(显示模式、盒子模型)

news2025/4/7 9:47:50

个人主页:学习前端的小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增大会内减

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

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

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

相关文章

「35」一学就会,让直播间的画面呈现3D可视化特效

「35」变形特效 3D可视化变形效果滤镜 3D Effec 变形效果滤镜插件&#xff0c;可以对来源中的文本、图片、视频等可视化元素&#xff0c;进行添加扭曲变形、倾斜、拉伸形成3D效果。 实操步骤 第1步 软件安装 关闭OBS软件&#xff0c;先安装3D Effec效果滤镜&#xff1b; 第…

【Consul】基于Golang实现Consul服务的注册、注销、修改、监控注册的服务变化、实时同步服务信息机制

【Consul】基于Go实现Consul服务的注册、注销、修改、监控注册的服务变化、实时同步服务信息机制 大家好 我是寸铁&#x1f44a; 总结了一篇【Consul】基于Go实现Consul服务的注册、注销、修改、监控注册的服务变化、实时同步服务信息机制✨ 这应该是目前全网最全的使用golang手…

4、双指针-移动零

首先不能复制&#xff0c;只能在原数组是哪个操作&#xff0c;那么很多集合的方式就不行了。当然在现实开发中肯定是可以的。目前按照题目来说是不可以的。所以我们可以思考下&#xff0c;是否可以通过交换来实现。 初始化一个变量 to 为 0。这个变量的目的是跟踪非零元素应该…

Leetcode 419.甲板上的战舰

原题链接&#xff1a;Leetcode 419. Battleships in a Board Given an m x n matrix board where each cell is a battleship X or empty ., return the number of the battleships on board. Battleships can only be placed horizontally or vertically on board. In other…

Java笔试题总结

HashSet子类依靠()方法区分重复元素。 A toString(),equals() B clone(),equals() C hashCode(),equals() D getClass(),clone() 答案:C 解析: 先调用对象的hashcode方法将对象映射为数组下标,再通过equals来判断元素内容是否相同 以下程序执行的结果是&#xff1a; class X{…

关于 elf loader 的编写

可以使用如下命令观看 elf 文件的信息 readelf -a build/ramdisk.img | vim -在编写 elf loader 的时候&#xff0c;实际上只有下图这一部分 “Program Headers” 是有用的 凡是类型为 “LOAD” 的就是需要加载进内存的部分 所以&#xff0c;只要把这些部分加载进内存里&…

机电一体化系统设计学习笔记——伺服驱动技术与控制技术

一、伺服驱动装置 1. 任务 精确控制&#xff1a;伺服驱动装置的首要任务是实现对机械系统的精确控制&#xff0c;包括位置、速度、加速度等参数的精准调节和控制。快速响应&#xff1a;具备快速响应能力&#xff0c;能够在短时间内实现目标位置或速度的调整。稳定性&#xff…

用C/C++加Easyx实现俄罗斯方块游戏(爆肝4万字,完全免费)

前言 相信大家一定玩过俄罗斯方块这款小游戏&#xff0c;简单容易上手是老少皆宜的小游戏&#xff0c;今天大家就跟着我来实现这个小游戏吧&#xff01;让自己学的C语言有用武之地。 为了让俄罗斯方块的开发更为简单些&#xff0c;图像更为丰富&#xff0c;在这里就利用了Easyx…

Debian12 使用 nginx 与 php8.2 使用 Nextcloud

最近将小服务器升级了下系统&#xff0c;使用了 debian12 的版本&#xff0c;正好试试 nginx 和 php-fpm 这种方式运行 Nextcloud 这个私有云的配置。 一、基本系统及应用安装 系统&#xff1a;debian12 x86_64 位版本最小安装&#xff0c;安装后可根据自己需求安装一些工具&…

面试经典-Spring篇

1、解释Spring框架中bean的生命周期 实例化 通过反射去推断构造函数进行实例化 实例工厂、静态工厂 属性赋值 解析自动装配&#xff08;byname、bytype、 constractor、 Autowired&#xff09; 循环依赖 初始化 调用XXXAware回调方法&#xff08;BeanNameAware、BeanFactoryAw…

有同学和我说,深度学习不用特征工程,只有浅层机器学习方法采用特征工程,我说你误会了,我给你好好解释吧!!

1. 通俗解释 浅层机器学习算法&#xff08;如逻辑回归、决策树、支持向量机等&#xff09;和深度学习算法&#xff08;如神经网络&#xff09;在特征工程上的依赖性确实存在一些差异。 浅层机器学习算法的特征工程依赖性&#xff1a; 浅层算法通常需要手工选择和设计特征&…

数据结构面试题报错调试方法记录

栈和队列报错调试 1.用栈实现队列 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 此题解题思路如下&#xff1a; 先将数据放在pushst栈里面&#xff0c;popst栈为空再把pushst栈里面的数据放进popst栈里面去&#xff0c;不为空则不执行。不为空时候直接拿取栈…

Flutter Boost 3

社区的 issue 没有收敛的趋势。 设计过于复杂&#xff0c;概念太多。这让一个新手看 FlutterBoost 的代码很吃力。 这些问题促使我们重新梳理设计&#xff0c;为了彻底解决这些顽固的问题&#xff0c;我们做一次大升级&#xff0c;我们把这次升级命名为 FlutterBoost 3.0&am…

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…

【游戏分析】逆向数组结构分析

追背包数组 用物品数量当突破口 首先CE扫描目标地址 很简单 找到目标地址 对物品数量地址下写入断&#xff0c;然后吃药 OD中追踪其来源 来源 ecx14 根据堆栈情况 判断此处不是函数头部 但是上面就是retn 那么只能是其他位置跳转而来 在上面发现了跳转来的代码 获得便宜…

ARM架构学习笔记2-汇编

RISC是精简指令集计算机&#xff08;RISC:Reduced Instruction Set Computing&#xff09; ARM汇编概述 一开始&#xff0c;ARM公司发布两类指令集&#xff1a; ① ARM指令集&#xff0c;这是32位的&#xff0c;每条指令占据32位&#xff0c;高效&#xff0c;但是太占空间 2…

移位运算与乘法

描述 题目描述&#xff1a; 已知d为一个8位数&#xff0c;请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输入的d有效&#xff08;d给出的信号的上升沿表示写入有效&#xff09; 信号示意图&#xff1a; 波形示意图&#xff1a; 输入描述&#…

用于超声图像中的乳腺病变分割的全局指导网络

用于超声图像中的乳腺病变分割的全局指导网络 摘要引言相关工作方法3.1. Global guidance block3.1.1. Spatial-wise global guidance block3.1.2. Channel-wise global guidance block3.2. Breast lesion boundary detection module 3.2.乳腺病灶边界检测模块 Global guidance…

promise.all方式使用

romise.all( ).then( ) 处理多个异步任务&#xff0c;且所有的异步任务都得到结果时的情况。 比如&#xff1a;用户点击按钮&#xff0c;会弹出一个弹出对话框&#xff0c;对话框中有两部分数据呈现&#xff0c;这两部分数据分别是不同的后端接口获取的数据。 弹框弹出后的初…

深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 目录 引言一、消息认证码&#xff08;MAC&#xff09;简介二、HmacMD5算法HmacMD5算法的工作原理 三、HmacSHA1算法HmacSHA1算法的…