CSS(三)

2023-11-16

目录

CSS三大特性:层叠性、继承性、优先级

层叠性:

继承性:  

优先级: 

页面布局三大核心:盒子模型、浮动、定位

 CSS盒子模型:

网页布局过程:

盒子模型组成:

​编辑​编辑

边框:(border)

内边距:(padding )

外边距:(margin)

PS基本操作:​

补充知识:去掉 li 前面的小圆点

圆角边框*:border-radius

盒子阴影*: box-shadow

文字阴影:text-shadow


CSS三大特性:层叠性、继承性、优先级

  • 层叠性:

       层叠性主要解决样式冲突的问题。相同选择器设置相同的样式,此时一个样式会覆盖(层叠)另一个冲突的样式

层叠性原则:

  1. 样式冲突时遵循的原则是就近原则,那个样式离结构近,就执行哪个样式
  2. 没有冲突的样式不会被层叠
 div {
        color: red;   //被层叠
        background-color: black; //未被层叠
      }
 div {
        color: pink;   //离<div>标签更近,最终文本颜色为粉红色
      }
 <div >长江后浪推前浪</div>
  • 继承性:  

        继承性指的是子标签会继承父标签的某些样式

  1. 恰当利用继承性可以简化代码
  2. 子元素可以继承以 text- ,font-,line-开头的属性以及color属性

行高的继承性:

body {
   font: 12px/1.5 "Microsoft YaHei";
}
  1. 行高可以跟单位px,也可以不跟单位,不跟单位时,行高为当前元素文字大小(font-size)的相应倍数
  2. 以上面代码示例为例:√ 如果body的子元素本身也设置了行高,按照继承的就近原则此时行高为当前元素文字大小的指定倍数

                                             √ 如果子元素没有设置行高,则会继承父元素指定的倍数           

  • 优先级: 

一个元素指定多个选择器,就会有优先级的产生

  1. 选择器相同时,则根据层叠性执行(就近原则)
  2. 选择器不同时,则根据选择器权重执行

 在某一样式分号之前加上 !important 后,权重最高,会被优先执行

注意:

  1. 权重由4位数字组成,但不会有进位
  2. 以上选择器权重可简单记忆为:通配符和继承——0,标签选择器——1,类(伪类)选择器——10,id选择器——100,行内样式表——1000,!important——无穷大
  3. 继承的权重是0,如果元素没有被直接选中,不管父元素的权重有多高,当元素本身有样式时,不继承父元素样式。(可形象记忆为:自己有自己的安排时,按照自己的节奏走,不管父母的安排,没有的时候就按照父母规定的来)

权重叠加:

      如果是复合选择器,则会有权重叠加,需计算权重

     eg:div  ul  li ——> 0,0,0,1 + 0,0,0,1 + 0,0,0,1 = 0,0,0,3

            .nav  ul  li ——> 0,0,0,10 + 0,0,0,1 + 0,0,0,1 = 0,0,1,2

            a:hover ——> 0,0,0,1 + 0,0,10 = 0,0,1,1

            .nav .red ——> 0,0,1,0 + 0,0,1,0 = 0,0,2,0 

页面布局三大核心:盒子模型、浮动、定位

 CSS盒子模型:

  • 网页布局过程:

  1. 准备好相关的网页元素,基本上都是盒子
  2. 利用CSS设置盒子样式,摆放到相应位置(网页布局的核心本质)
  3. 往盒子里面装内容
  • 盒子模型组成:

CSS盒子模型本质上是一个盒子,封装周围的HTML元素,包括:边框、内边距、外边距和内容

边框:(border)

 边框有三部分组成:边框粗细边框样式边框颜色

属性border-style的值有很多种,主要记住其中的三个:

 solid:实线       dashed:虚线     dotted:点线

 

 边框样式的复合写法:

border: 1px solid red; 三个属性之间不分先后顺序

边框分开写法:(边框的上下左右可以分别设置不同样式)

属性 作用
border-top 上边框
border-bottom 下边框
border-left 左边框
border-right 右边框

表格的边框合并:

border-collapse:控制浏览器绘制表格边框的方式,控制相邻单元个的边框

border-collapse: collapse;
把相邻边框合并在一起

注意:

给盒子加边框会影响盒子的实际大小,可以通过weight/height减去边框大小保持盒子实际大小

内边距:(padding )

padding用于设置内边距,即内容与边框之间的距离

  

 内边距的复合写法:

注意:

  1. 给盒子设置内边距会影响盒子的实际大小,可以通过wigth/height减去多余内边距大小实现盒子和要求大小一致 
  2. 当导航栏字数不一样时,一般不通过设置盒子宽度使文字间隔相同,而是直接用padding设置内边距 
  3. 如果盒子本身没有指定width/hight属性,则此时pedding不会撑开盒子大小

 外边距:(margin)

margin属性用于设置外边距,即盒子和盒子之的距离

外边距的复合写法和内边距一样

外边距典型应用:
外边距可以让块状盒子水平居中。必须满意两个条件:

  1. 盒子必须指定宽度
  2. 盒子左右外边距都设置为auto
div {
   width: 100px;
   margin: 0 auto;(经典代码)

}

注意:该方法只能让块级元素水平居中,行内元素或者行内块元素水平居中给其父元素添加 text-align: center 即可

外边距合并:

使用margin定义块元素的垂直外边距时,可能会出现外边距的合并

  1. 相邻块元素垂直外边距的合并: 上下相邻的两个块元素,上面的元素有下外边距,下面的元素有上外边距,取两个值中的较大者作为两个块元素的垂直外边距
  2. 嵌套块元素垂直外边距的塌陷:对于两个嵌套关系(父子关系)的块元素,父元素有上边距,同时子元素也有上外边距,此时父元素会塌陷较大的外边距

    解决方法:

  1.  为父元素定义上边框,边框颜色可以选为transparent
  2. 为父元素定义上内边框
  3. 为父元素添加代码:overflow: hidden 

      添加上边框或上内边框都会改变父元素盒子的大小,而添加overflow: hidden,不会影响盒子大小

清除内外边距:

* {
    通常该样式为CSS的第一行代码
    margin: 0;  (清除外边距)
    padding: 0; (清除内边距)
}

考虑到兼容性,行内元素尽量只设置左右内外边距,不要设置上下内外边距,但是转换为块级元素和行内块元素就可以设置了

PS基本操作: 

补充知识:去掉 li 前面的小圆点

list-style: none;

圆角边框*:border-radius

border-radius: 10px;    //  radius: 半径
  • 参数值:可以是数值(如:10px)也可以是百分比(如:50%)
  • 参数值可以为4个,分别是:左上角、右上角、左下角、右下角
  • 参数值可以为2个,分别是:左上角+右下角、右上角+左下角(对角线)
  • 也可以为单独某一个角设置弧度:border-top-left-radius(左上角)、border-top-right-radius(右上角)、border-bottom-left-radius(左下角)、border-bottom-right-radius(右下角)
  1. 原理:圆与边框的交集形成圆角效果
  2. 圆边框:先准备一个正方形的盒子,将border-radius参数值设为高度(或宽度)的一半,或者设为50%
  3. 圆角矩形边框:先准备一个长方形的盒子,将border-radius参数值设为高度的一半

盒子阴影*: box-shadow

box-shadow: h-shadow v-shadow blur spread color inset

box-shadow: 10px 10px 10px 10px black 
描述
h-shdow 必需。水平阴影的位置。当值为负数时,阴影往左
v-shadow 必需。垂直阴影的位置。当值为负数时,阴影往上
blur 可选。模糊距离(模糊程度)。值越大越模糊
spread 可选。阴影的尺寸(大小)
color 可选。阴影的颜色
inset 可选。默认为外部阴影(outset),若需内部阴影则添加inset

 注意:

  1. outset不需要写,否则会导致盒子阴影效果失效
  2. 盒子阴影不占用空间,不会影响其他盒子排列

文字阴影:text-shadow

text-shadow: h-shadow v-shadow blur color
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS(三) 的相关文章

  • Chrome 扩展:插入固定 div 作为 UI

    我想使用 chrome 扩展将 div 插入固定位置 它将覆盖您当前正在查看的页面 我担心的是 我希望它可以在任何页面上工作而不改变它 除了插入我的固定 div 之外 但我不知道我这样做的方式是否可行 目前 该按钮不会显示 并且我在让 di
  • Twitter Bootstrap 上的插入符号是如何构建的?

    这更多的是一个好奇问题 而不是我真正需要知道的事情 在本页面 http twitter github com bootstrap components html buttonDropdowns http twitter github com
  • 在响应模式下使用 CSS 更改元素顺序

    图1为桌面模式 下面两张图片和文字 总共三个div 图 2 是我希望它在移动浏览器 例如手机 中的显示方式 关于如何实现这一点有什么想法吗 我愿意接受任何建议 这个想法是让文本显示在图像上方 以最好地说明这两个图像的描述 在桌面版本中将文本
  • CSS:多属性选择器

    我想设置 电子邮件 和 密码 类型的表单输入样式 但不设置其他任何样式 我正在想象类似以下的事情 input type email type password 然而 属性选择器的工作方式似乎将其解释为 输入 其中类型同时是 电子邮件 and
  • 在打印 CSS 上在每个页面周围绘制边框?

    打印时我需要在每个页面周围绘制边框 我最初是使用带有分页符的 div 来完成此操作 例如 media print contentContainer position inline height 98 width 100 top 0px le
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • 仅水平 CSS 视差效果,层数大于 100vw

    如何用水平引导网站仅 CSS 视差效果 要求 仅 CSS 视差 父层必须具有宽度 高度 100vw 100vh 子层的宽度 高度必须 gt 100vw 100vh child layers must visually align 100 w
  • 如何检查元素的内容是否为空,如果是,则在 jquery 中删除该元素

    我目前正在尝试选择某个 div 内没有内容的任何 h2 元素并将其删除 这是我的 html 代码 div class skipToContainer h2 class vidSkipTo Hello h2 h2 class vidSkipT
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 有没有办法在 html 图像标签中显示位图数据? [复制]

    这个问题在这里已经有答案了 有没有办法在 HTML 元素中显示位图图像数据 例如 您有一个指向源文件的常规图像 如下所示 img src myImage png width 100 height 100 有没有这样的事情 img width
  • Google 再营销标签 - iframe 高度问题

    我注意到 Google 的再营销代码会在我的页面底部插入一个 iframe 问题是 iframe 弄乱了我的布局 它的高度为 13 像素 并且在底部留下了空白的白色垂直空间 我尝试用 css 隐藏它 但它在 IE9 中仍然可见 iframe
  • 由于固定导航,增加了 FancyBox v2 的顶部和底部边距

    我目前正在开发一个网站 该网站将来将具有响应能力 该网站主要由图像组成 单击这些图像会加载到 FancyBox 中 FancyBox v2 现在具有响应能力 因此可以在屏幕尺寸发生变化时重新调整图像等的大小 作为我设计的一部分 我有两个固定
  • 显示班级图片 10 秒

    我有下面给出的代码显示9 boxes 其值如下digital time 还有一个班级box002显示digits相当于随机选择的九个盒子的值 box002 can be dragged to digital time starting wi
  • 如何设置旋转元素背面的样式?

    我有一个figure它是可旋转的 通过用户输入任意角度 该旋转明显地使用transition财产 当该元件旋转超过 90 度 90 度时 元件的背面可见 我想对元素的通常隐藏的一面进行与正面不同的设计 但我不确定如何实现这一点 figure
  • 响应式导航栏隐藏其下方的元素

    我创建了一个响应式导航栏 但它使下面的元素 Flexslider 插件 消失 在我制作导航栏之前 下面的 Flexslider 可以正常显示 但现在不行 导航栏的 z index 为 2 所以我不知道问题是什么 我应该如何 更改什么才能允许
  • CSS3 box-shadow 用于类似重叠的 div

    我正在尝试用css3来实现这种效果 HTML 代码显然是这样的
  • 在 IE 8 及以下版本中动态添加 @font-face 规则

    我使用 IE stylesheet addRule 方法添加 font face 规则 但是 符号对于该方法的 选择器 参数来说是不允许的字符 因此我收到 无效参数 错误 s addrule font face font family Fo
  • 如何动态打破 FlexBox 列以开始新列

    I have a dynamic list of items containing text placed column wise which I need to break after every 5th item 我只有两个限制 每个
  • 保持未知数量的 div 居中,每行最多 4 个

    我有一个简单的问题 但我自己无法解决 简而言之 有一个未知电话我必须在页面中放置的元素数量 最多 每行 4 个元素 但仍居中 此图片给您一个提示 我为了示例而设置它 详细 在上图中我涵盖了不同的场景 例如 如果总共有 5 个元素 则应使用第
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png

随机推荐

  • 锁消除和锁粗化

    一 锁消除 JIT 及时编译器 对锁的优化 因为正常都是多个线程去竞争同一把锁 但是当前代码中每调用一次m1方法就会创建一个新的对象 也可以理解为每个线程对应了一把新的锁 没有竞争的情况 毫无意义 所以叫锁消除 锁消除 public cla
  • C语言实现数据高低位翻转

    通过指针转换为字节类型 直接交换 include
  • 73. Set Matrix Zeroes

    Given a m x n matrix if an element is 0 set its entire row and column to 0 Do it in place 这题有很多方法 一开始想的是用O m n 的空间 用vect
  • 使用Freemarker 实现JSP页面的静态化

    使用Freemarker 静态化网页 一 原理 Freemarker 生成静态页面 首先需要使用自己定义的模板页面 这个模板页面可以是最最普通的html 也可以是嵌套freemarker中的 取值表达式 标签或者自定义标签等等 然后后台读取
  • 【网络】Wireshark分析RST消息

    文章目录 前言 1 定义 2 有三个条件可以产生RST 3 说明 4 RST数据报文产生情况 1 端口未打开 系列文章 Wireshark分析Netty建链过程 tcp三次握手 osi模型 IPV4数据报头部格式 Wireshark分析RS
  • 数据结构双向链表,实现增删改查

    一 双向链表的描述 在单链表中 查找直接后继结点的执行时间为O 1 而查找直接前驱的执行时间为O n 为克服单链表这种单向性的缺点 可以用双向链表 在双向链表的结点中有两个指针域 一个指向直接后继 另一个指向直接前驱 二 双向链表的存储结构
  • Base64 转 文件下载

    将base64字符串转化为文件 1 将下面代码另存为html文件 2 用浏览器打开 3 点击下载 代码如下 div 输入base64字符串 div
  • opensips之yyparse( )

    parse the config file prior to this only default values e g for debugging settings will be used yyin cfg stream if yypar
  • HTTPS协议详解

    文章目录 一 HTTPS是什么 二 HTTPS的工作过程 引入对称加密 引入非对称加密 引入证书 总结 三 HTTPS 与 HTTP 的区别 区别 HTTPS的优缺点 总结 一 HTTPS是什么 HTTPS HTTPS 也是一个应用层协议
  • stm32f10x 时钟系统详解/时钟树/时钟初始化/SystemInit函数全注解

    STM32F10x 时钟系统初学总结 一 时钟系统 1 概述 用通俗的话来说 时钟是单片机的 脉搏 是单片机的驱动源 使用单片机中的任何一个外设都必须打开此外设相应的时钟 这样的好处是 在不使用某个外设的时候 关闭此时钟外设 从而可以降低系
  • 合并两个有序链表(精美图示详解哦)

    全文目录 引言 合并两个有序链表 题目描述 方法一 将第二个链表合并到第一个 思路 实现 方法二 尾插到哨兵位的头节点 思路 实现 总结 引言 在前面两篇文章中 我们介绍了几道链表的习题 反转链表 链表的中间结点 链表的倒数第k个结点 戳我
  • 深度学习实战28-AIGC项目:自动生成定制化的PPT文件

    大家好 我是微学AI 今天给大家介绍一下深度学习实战28 AIGC项目 自动生成定制化的PPT文件 AIGC项目是一个基于自然语言处理技术的创新性项目 旨在利用ChatGPT模型生成定制化的PPT文件 该项目主要应用于商务和教育领域 可以帮
  • 中文NLP的第二步:分词转词表ID,基于 PaddleHub 实现(学习心得)

    上一步我们做了分词 中文NLP的第一步 分词 基于 PaddleHub 实现 绝对小白友好 学习心得 第二步是把分词结果 对照词表转化成 ID 词表是什么呢 首先我们要知道 中文字符是没办法直接计算的 更不要说进一步的操作了 所以我们需要的
  • qmake常用语法

    qmake常用语法 一 注释 用 注释 表示到行尾均为注释 二 include 包含别的文件 例如 include xx pri 类似于c 的 include 三 平台宏 win32 macx unix linux g 等 分别对应于win
  • HDU--1864:最大报销额 DP求最大和(最大和有上限)

    1 题目源地址 http acm hdu edu cn showproblem php pid 1864 2 简要分析 这道题看起来不难 求最大报销额 想法是先找到符合要求的发票 然后求符合要求的发票的最大报销金额 但是 这道题的陷阱好几个
  • 【目标检测】3、SPPNet

    SPPNet Spatial Pyramid Pooling 空间金字塔池化 一般的CNN结构中 对输入大小要求固定 但在现实中通常会使用crop和warp来将大小统一 这样做会破坏图像的纵横比 何凯明提出了SPP 连接在最后一层卷积层 下
  • C++ 算法学习 之 sort

    这里写目录标题 sort函数 简单使用 通过上面的两个列子发现sort用的参数不一样为什么 进一步理解sort 那我们怎么进行自定义排序呢 力扣题目 c 官网手册 sort 参考于官网 sort函数 std sort 函数是C 标准库中提供
  • Python3.7+RobotFramework自动化测试框架环境搭建-重装

    Python3 7 RobotFramework自动化测试框架环境搭建 学习笔记 一 环境搭建 1 安装Python3 7 2 2 安装相关的库 request库 robotframework库 robotframework request
  • C++实现softmax函数(std::vector)

    参考博客 激活函数之softmax介绍及C 实现及其评论区 Lambda使用参考博客 C 11 Lambda表达式 函数功能 输入vector
  • CSS(三)

    目录 CSS三大特性 层叠性 继承性 优先级 层叠性 继承性 优先级 页面布局三大核心 盒子模型 浮动 定位 CSS盒子模型 网页布局过程 盒子模型组成 编辑 编辑 边框 border 内边距 padding 外边距 margin PS基本