CSS盒子模型与常见问题

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;
    }

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

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

相关文章

C++中的数制转换工具

一、引言 在编程和日常计算中,我们经常需要在不同的数制之间进行转换。二进制、十进制和十六进制是最常用的数制。二进制是计算机内部处理数据的基础,十进制是我们日常生活中最常用的数制,而十六进制则在编程和硬件相关领域中广泛使用。 二…

不要摆摊,不要开早餐店,原因如下

关注卢松松,会经常给你分享一些我的经验和观点。 我最近开通了视频号会员专区嘛,专区有个问答功能可以提问,有个会员问了我问题,其中一条问答分享给大家: 松哥,突然想去兼职,早上卖点杂粮煎饼果…

小塔 | 时尚领域RFID应用,别人早你一步!

优衣库,作为知名服装品牌零售商,近年来在数字化转型的道路上取得了显著的成果。其中,RFID技术的应用成为了优衣库提升运营效率、优化客户体验以及实现精准营销的重要工具。 RFID助力时尚门店品牌升级 优衣库深知RFID技术的潜力,将…

web--跨域,cors,jsonp,域名接管劫持

同源策略 可以放在csrf cosp 解决同源策略 它会将会从xiaodi这个网站中去获取资源,然后发送给localhost这个网站 就获取到了资源 jsonp 就是这个网站的回调信息有个人的数据 就看callback有没有回调信息 域名接管 当右边两个域名过期,就可以注册它的域名…

Git 安装及配置教程(Windows)【安装】

文章目录 一、 下载1. 官网下载2. 其它渠道 二、 安装三、 配置四、 更新 软件 / 环境安装及配置目录 一、 下载 1. 官网下载 安装地址:https://git-scm.com/download 2. 其它渠道 (1)百度网盘(2.44.0 版本) 链接…

使用FPGA实现逐级进位加法器

介绍 逐级进位加法器就是将上一位的输出作为下一位的进位输入,依次这样相加。下面以一个8位逐级进位加法器给大家展示。 我增加了电路结构,应该很容易理解吧。 下面我也列举了一位加法器,可以看下。 电路结构 设计文件 1位加法器 librar…

【Python爬虫】爬取淘宝商品数据——新手教程

大数据时代, 数据收集不仅是科学研究的基石, 更是企业决策的关键。 然而,如何高效地收集数据 成了摆在我们面前的一项重要任务。 本文将为你揭示, 一系列实时数据采集方法, 助你在信息洪流中, 找到…

SpringCloud基础 Consul的引入

前言 首先是为什么引入consul这个组件 我们知道微服务分为很多个模块,这里模块中相互调用,我使用硬编码的模式是不好的 比如微服务模块需要更新的时候,我们使用硬编码的方式可能需要修改很多个地方 但是使用consul之后,就引入了注册中心,我们只需要将对应的服务注册为节点 这样…

重生奇迹MU召唤术师攻略(重生奇迹MU召唤技能)

1、召唤术师,重生奇迹MU的强力职业之一。跟格斗家一样,需要RMB购买资格证才能够使用的一个职业,召唤术师可以说是对于玩家将职业玩法的一种总结性职业,这个职业虽然叫做召唤术师,但是整个重生奇迹MU里唯一能够召唤宝宝…

SpringBoot3 + Kotlin + mybatis-plus + Swagger3后端开发样例

前言: Kotlin 是一种在 JVM(Java 虚拟机)、Android 和浏览器端运行的静态类型编程语言。以下是关于 Kotlin 的总结介绍: 1、语言特性: 简洁性:Kotlin 旨在提供简洁且安全的代码,同时保持与 Jav…

解决“ImportError: DLL load failed while importing _rust: 找不到指定的程序的问题

运行 scrapy startproject wikiSpider 报错:ImportError: DLL load failed while importing _rust: 找不到指定的程序。 经过尝试 可以更换Python解释器版本来解决 1、点击crtlalts打开设置 点击项目>解释器 选择3.11解释器 (我原来报错用的3.9的解…

C++11(第一篇)【C/C++复习版】

目录 1、统一的列表初始化 2、所有容器新增initializer_list构造 3、auto、decltype和typeid 4、nullptr 5、 范围for 6、STL中的变化 array(新容器) forward_list(新容器) cbegin、cend、crbegin、crend(新方法…

WEB网站服务器安全漏洞扫描环境搭建及漏洞工具扫描

一、适用环境 1、企业自建有门户网站; 2、使用Struts框架的WEB网站; 3、网站服务器涉及有数据库之类的项目,如:微信登录、手机登录、充值、收费等。 4、使用安卓版、苹果版、电脑版结合的缴费类网站平台。 5、方便但需提高安全性…

linux-centos修改时区时间

修改时区为北京时间 先输入tzselect,输入5,再输入9,再输入1,最后再输入1就行了 修改系统时间和硬件时间 查看当前时间 命令date修改系统时间 命令date -s "2024-04-21 18:30:30"查看硬件时间 命令hwclock --show修改…

AIGC Chat GPT 用思维导图总结,数据分析所需要掌握的Excel知识

你还不会制作思维导图吗? 现在已经可以零门槛一键生成,只需跟AI说一句话,就能完成!!! 生成一个思维导图,主题是数据分析师需要掌握的Excel知识,在新窗口生成思念导图。 AIGC ChatG…

ONES 功能上新|ONES Wiki 新功能一览

支持在 ONES Wiki 页面中使用分栏进行横向排版,丰富排版方式,帮助用户以更丰富的版式展示内容。 应用场景: 页面的布局对内容的阅读有很大的影响。当页面中有图文混排的需求时,可以通过分栏来组织页面结构,以更清晰、更…

倾囊相授,ChatGPT干货技巧全在这里!如果没有这个方法我不可能学好ChatGPT

ChatGPT虽然已经问世一年多,但不少朋友还处于刚接触的阶段。于是,我们特别梳理了一些常见问题,尝试着用通俗的语言解释清楚这些内容。 1. ChatGPT的官方网址 https://www.chatgpt.com 你只要Google搜索能打开,这个网址肯定能打开。…

2024年成都市“蓉贝”软件人才年度评估及资金支持申报对象内容、材料要求

一、申报对象 经2023年评估合格的第一批(2019年评聘)、第二批(2020年评聘)、第三批(2021年评聘)“蓉贝”软件人才,2022年评聘的第四批“蓉贝”软件人才。 二、评估内容 (一&#…

java和python刷题的一些语法规则总结(未完成)

语法总结 Java篇1、代码补全2、编程题中常用头文件3、编程题常用的内置方法4、模版 Python篇1、2、编程题中常用的头文件3、编程题中常用的内置方法4、伪代码模版 去哪练习? 1、LeetCode上有个面试模拟 2、牛客公司真题(ACM模式) ⚠️ 笔试均…

AI-数学-高中-44导数的运算法则

原作者视频:【导数】【一数辞典】3导数的运算法则(略难)_哔哩哔哩_bilibili 三种求导表达方式一样的,中间的比较常用: 链式法则:从外向内: