CSS盒子模型与常见问题

news/2024/5/19 7:51:26

CSS盒子模型

  • 显示模式
    • 转换显示模式
  • 盒子模型
    • 边框线
    • 内边距
      • padding 多值写法
    • 尺寸计算与内减法模式
    • 外边距
  • 清除默认样式
  • 元素溢出
  • 外边距问题
    • 合并现象
    • 塌陷现象
  • 行内元素 – 内外边距问题

显示模式

    显示模式:标签(元素)的显示方式作用:布局网页的时候,根据标签的显示模式选择合适的标签摆放内容块级元素特点:独占一行宽度默认是父级的100%添加宽高属性生效行内元素特点:一行可以显示多个宽高尺寸由内容撑开设置宽高属性不生效行内块元素特点:一行可以显示多个宽高尺寸也可以由内容撑开设置宽高属性生效

转换显示模式

   	属性:display属性值        效果block        块级inline-block 行内块inline       行内display: inline;

盒子模型

    内容区域 – width & height内边距 – padding(出现在内容与盒子边缘之间)边框线 – border 外边距 – margin(出现在盒子外面)div {margin: 50px;border: 5px solid brown;padding: 20px;width: 200px;height: 200px;background-color: pink;}

在这里插入图片描述

边框线

	  四个方向边框线属性名:border(bd)属性值:边框线粗细  线条样式  颜色(不区分顺序)属性值  线条样式solid   实线dashed  虚线otted   点线div {width: 200px;height: 200px;background-color: pink;/* 实线 *//* border: 1px solid #000; *//* 虚线 *//* border: 2px dashed red; *//* 点线 */border: 3px dotted green;}
    单方向边框线属性名:border-方位名词(bd+方位名词首字母,例如,bdl)属性值:边框线粗细  线条样式  颜色(不区分顺序)方位词  方向top     上bottom  下left    左right   右div {width: 200px;height: 200px;background-color: pink;border-top: 1px solid #000;border-right: 2px dashed red;border-bottom: 5px dotted green;border-left: 10px solid orange;}

内边距

    作用:设置 内容 与 盒子边缘 之间的距离属性名:padding / padding-方位名词属性值:数字 + px提示:添加 padding 会撑大盒子div {width: 200px;height: 200px;background-color: pink;/* 四个方向 内边距相同 */padding: 30px;/* padding: 20px; *//* 单独设置一个方向内边距 */padding-top: 10px;padding-right: 20px;padding-bottom: 40px;padding-left: 80px;}

padding 多值写法

技巧:从 上 开始 顺时针 赋值,当前方向没有数值则与 对面取值相同

取值个数实例含义
一个值padding:10px;四个方向内边距均为10px
两个值padding: 10px 80px;上下:10px;左右:80px
三个值padding: 10px 40px 80px;上:10px;左右:40px;下80px
四个值padding: 10px 20px 40px 80px;上:10px;右:20px;下:40px;左:80px

尺寸计算与内减法模式

    默认情况:盒子尺寸 = 内容尺寸 + 内边距尺寸 + border 尺寸结论:给盒子加 border / padding 会撑大盒子解决:手动做减法:减掉 border / padding 的尺寸內减模式:box-sizing: border-box(不需要手动减法,加padding和border不会撑大盒子)div {width: 200px;height: 200px;/* 手动减法 *//* width: 160px;height: 160px; */background-color: pink;padding: 20px;/* 內减模式:不需要手动减法,加padding和border不会撑大盒子 */box-sizing: border-box;}

外边距

     外边距 作用:拉开两个盒子之间的距离属性名:margin属性值:数字 + px提示:与 padding 属性值写法、含义相同版心居中左右 margin 值 为 auto(盒子要有宽度)/* 版心居中要求:盒子要有宽度 */width: 1000px;height: 200px;background-color: pink;/* 外边距 不会 撑大盒子 *//* 版心居中 */margin: 0 auto;

清除默认样式

    清除标签默认的样式,比如:默认的内外边距/* 清除默认内外边距 */* {margin: 0;padding: 0;/* 内减模式 */box-sizing: border-box;}/* 去掉列表的项目符号 */li {list-style: none;}/* 去掉超链接下划线 */a {text-decoration: none;}

元素溢出

    作用:控制溢出元素的内容的显示方式属性名:overflow属性值    效果hidden    溢出隐藏scroll    溢出滚动(无论是否溢出,都显示滚动条位置)auto      溢出滚动(溢出才显示滚动条位置)div {width: 200px;height: 200px;background-color: pink;overflow: hidden;/* overflow: scroll; *//* overflow: auto; */}

外边距问题

合并现象

    场景:垂直排列的兄弟元素,上下 margin 会合并现象:取两个 margin 中的较大值生效.one {width: 100px;height: 100px;background-color: brown;margin-bottom: 80px;}.two {width: 100px;height: 100px;background-color: orange;margin-top: 50px;}

塌陷现象

    场景:父子级的标签,子级的添加 上外边距 会产生塌陷问题现象:导致父级一起向下移动解决方法:方式一: 取消子级margin,父级设置padding方式二: 父级设置 overflow: hidden方式三: 父级设置 border-top.father {width: 300px;height: 300px;background-color: pink;/* padding-top: 50px;box-sizing: border-box; *//* 溢出隐藏 *//* overflow: hidden; */border-top: 1px solid #000;}.son {width: 100px;height: 100px;background-color: orange;margin-top: 50px;}

行内元素 – 内外边距问题

    场景:行内元素添加 margin 和 padding,无法改变元素垂直位置解决方法:给行内元素添加 line-height 可以改变垂直位置span {/* margin 和 padding 属性,无法改变垂直位置 */margin: 50px;padding: 20px;/* 行高可以改变垂直位置 */line-height: 100px;}

http://www.mrgr.cn/p/30828846

相关文章

基于IIoT的设备预测性维护设计

基于IIoT的设备预测性维护设计 一、引言 在工业物联网(IIoT)的背景下,设备预测性维护成为了一种关键的战略,能够帮助企业提前发现并解决设备故障,从而提高生产效率、减少停机时间,并降低总体维护成本。为了…

DRV8825步进驱动芯片的电流调节与测量

DRV8825驱动的电流调节与测量DRV8825驱动特点最大电流2.5A。最高支持32细分。芯片内阻更小,发热更低,散热性更好。驱动DRV8825电流调节电流太小雕刻容易丢步,导致雕刻错位、雕刻失败。感觉电机不够力可以把电流调大。电流太大步进电机会发热。这时需要把电流调小。调节方法请…

QT C++ sqlite 对多个数据库的操作

//本文描述,QT 对多数据库的操作。 //你可能会想,多数据库的操作时,查询语句怎么知道是哪个数据库。 //QT提供了这样一种构造函数 QSqlQuery(const QSqlDatabase &db) //指定数据库 //在QT6.2.4 MSVC2019调试通过。 //效果见下图&am…

百篇博客 · 千里之行

时光荏苒流逝,白驹匆匆过隙,不知不觉间,Damon小智已经在CSDN上记录了第一百多篇文章。恰逢128天创作纪念日的此刻,我感慨良多,这百余篇博客不仅是我的创作历程,更见证了我在这五年技术生涯中走过心路历程。…

Vue3 超前版发布,全面拥抱 JSX/TSX

拥抱 JSX/TSX? 我们都知道 Vue 一直主流是使用 template 模板来进行页面的编写。而就在最近,Vue3 的超前项目 Vue Macros 中,发布了 defineRender、setupComponent、setupSFC 这些新的 API,这代表了,以后 Vue3 有可能可以全面拥抱 JSX/TSX 了!! 说这个新 API 之前,我…

AutoGPT-Forge使用教程,自行构建agent智能体

本博客给出AutoGPT-forge四个教程的翻译与理解,使用GPT4翻译, 参考官方教程https://aiedge.medium.com/autogpt-forge-a-comprehensive-guide-to-your-first-steps-a1dfdf46e3b4 使用AutoGPT Github代码日期2024/4/22; 博客开始编辑日期20…

rocketMQ安装教程

文章目录前言 一、rocketMQ安装教程 二、rocketmq-console可视化界面 前言 本章节将介绍如何在docker环境下安装rocketmq以及rocketmq-console可视化界面 一、rocketMQ安装教程 在安装之前请保证您的服务器已经安装好docker环境并且安装好JDK (1)拉取rocketMQ最新版本镜像 do…

浏览器的工作原理

参考:渲染页面:浏览器的工作原理 - Web 性能 | MDN (mozilla.org) Web 性能 | MDN (mozilla.org) Web性能影响因素 首先有两个,一个是网络延迟,一个是大部分情况下浏览器都是单线程执行的 保障页面快速加载的最大威胁是网络延迟…

创建钉钉审批流实例

1、依赖 <!--钉钉 api --> <dependency><groupId>com.aliyun</groupId><artifactId>dingtalk</artifactId><version>2.0.14</version> </dependency> <!--钉钉 事件订阅--> <dependency><groupId>co…

MATLAB实现蚁群算法栅格路径优化

蚁群算法是一种模拟自然界中蚂蚁觅食行为的优化算法&#xff0c;常用于解决路径规划问题。在栅格路径优化中&#xff0c;蚁群算法可以帮助找到从起点到终点的最优路径。以下是蚁群算法栅格路径优化的基本流程步骤&#xff1a; 初始化参数&#xff1a; (1)设置蚂蚁数量&#xff…

NumPy 1.26 中文官方指南(五)

NumPy 许可证原文:numpy.org/doc/1.26/license.htmlCopyright (c) 2005-2023, NumPy Developers. All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:* …

NumPy 1.26 中文官方指南(一)

NumPy 用户指南原文:numpy.org/doc/1.26/user/index.html本指南是一个概述,解释了重要特性;细节请参阅 NumPy 参考文档。 入门指南什么是 NumPy?安装NumPy 快速入门NumPy:初学者的绝对基础基础知识和用法NumPy 基础知识数组创建对 ndarrays 进行索引使用 NumPy 进行 I/O数…

5分钟——快速搭建后端springboot项目

5分钟——快速搭建后端springboot项目 1. idea新建工程2. 构建pom.xml文件3. 构建application.yml配置文件4. 构建springboot启动类5. 补充增删改查代码6. 运行代码7. 下一章 1. idea新建工程 点击右上角新建一个代码工程 别的地方不太一样也不用太担心&#xff0c;先创建一个…

NumPy 1.26 中文官方指南(二)

NumPy 1.26 中文官方指南(二) NumPy: 绝对初学者的基础知识原文:numpy.org/doc/1.26/user/absolute_beginners.html欢迎来到 NumPy 的绝对初学者指南!如果你有评论或建议,请不要犹豫联系我们! 欢迎来到 NumPy! NumPy(Numerical Python)是一个开源的 Python 库,几乎在…

spark standalone同时运行pyspark和spark-shell

需要限制资源数量,使用 spark.cores.max 或 --total-executor-cores 来指定最大核数。 假设集群一共4c5.6g pyspark(使用2c2g) from pyspark.sql import SparkSessionspark = SparkSession.builder \.master("spark://worker1:7077") \.appName("pysparkApp&…

解决Vue3项目运行控制台警告

运行Vue3项目,控制台警告:Feature flag VUE_PROD_HYDRATION_MISMATCH_DETAILS is not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to ge…

Redis入门到通关之数据结构解析-SkipList

文章目录 ☃️概述☃️总结 欢迎来到 请回答1024 的博客 &#x1f353;&#x1f353;&#x1f353;欢迎来到 请回答1024的博客 关于博主&#xff1a; 我是 请回答1024&#xff0c;一个追求数学与计算的边界、时间与空间的平衡&#xff0c;0与1的延伸的后端开发者。 博客特色&…

解决警告

运行Vue3项目,控制台警告:Feature flag VUE_PROD_HYDRATION_MISMATCH_DETAILS is not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to ge…

日本岛津电子天平UW UX 系列series 精密电子天平Shimadzu使用说明

日本岛津电子天平UW UX 系列series 精密电子天平Shimadzu使用说明

python-自动化篇-终极工具-用GUI自动控制键盘和鼠标-pyautogui-键盘

文章目录 键盘键盘——记忆宫殿入门——通过键盘发送一个字符串——typewrite()常规——键名——typewrite()常规——按下键盘——keyDown()常规——释放键盘——keyUp()升级——热键组合——hotkey() 键盘 pyautogui也有一些函数向计算机发送虚拟按键&#xff0c;让你能够填充…