css(层叠样式表)

文章目录

    • 一、CSS介绍
    • 二、CSS使用方式
      • 1. 行内样式/内联样式(单一页面中使用)
            • 设置背景颜色 background-color:green;
      • 2. 内嵌样式(少量页面中使用)
      • 3. 外链样式表(项目中使用)
    • 三、 样式表特征
      • 1. 层叠性
      • 2. 继承性
      • 3. 样式表的优先级
    • 四、CSS 选择器
      • 1. 作用
      • 2. 分类 :
        • 1. 标签选择器
        • 2. id选择器
        • 3. class选择器/类选择器
        • 4. 群组选择器
        • 5. 后代选择器
        • 6. 子代选择器
        • 7. 伪类选择器
      • 3. 选择器的优先级
    • 五、标签的尺寸和颜色
        • 1. 过渡动画
        • 2. 标签的尺寸
        • 3. 颜色
    • 六、 盒子模型
      • 1. 基础概念
      • 2. 外边距
      • 3. 边框
        • 1) 边框实现
        • 2) 单边框设置
        • 3) 网页三角标制作
        • 4) 圆角边框
        • 5) 轮廓线
      • 2. 内边距
      • 3. 盒阴影
      • 4. 盒模型概念
      • 5. 标签最终尺寸的计算
    • 七、布局方式
      • 1. 普通文档流
      • 2. 浮动布局
        • 1)属性
        • 2)取值
        • 3)特点
        • 4)常见问题
        • 5)解决
      • 3. 定位布局
        • 1)属性
        • 2)取值
        • 3)偏移属性
        • 4)分类
        • 5)堆叠次序
    • 八、背景属性
      • 1. 背景颜色
      • 2. 背景图片相关
        • 1)设置背景图片
        • 2)设置背景图片的重复方式
        • 3)设置背景图片的显示位置
        • 4)设置背景图片的尺寸
      • 3. 背景属性简写
    • 九、文本属性
      • 1. 字体相关
        • 1)设置字体大小
        • 2)设置字体粗细程度
        • 3)设置斜体
        • 4)设置字体名称
        • 5)字体属性简写
      • 2. 文本样式
        • 1)文本颜色
        • 2)文本装饰线
        • 3)文本内容的水平对齐方式
        • 4)行高

一、CSS介绍

CSS全称为层叠样式表 ,与HTML相辅相成,实现网页的排版布局与样式美化

二、CSS使用方式

1. 行内样式/内联样式(单一页面中使用)

借助于style标签属性,为当前的标签添加样式声明

<标签名 style="样式声明">

CSS样式声明 : 由CSS属性和值组成
例:

style="属性:值;属性:值;"

常用CSS属性 :

  • 设置文本颜色 color:red;

  • 设置背景颜色 background-color:green;
  • 设置字体大小 font-size:32px;

!在这里插入图片描述

2. 内嵌样式(少量页面中使用)

借助于style标签,在HTML文档中嵌入CSS样式代码,可以实现CSS样式与HTML标签之间的分离。同时需借助于CSS选择器到HTML 中匹配标签并应用样式
示例:

<style>选择器{属性:值;属性:值;}
</style>

选择器 : 通过标签名或者某些属性值到页面中选取相应的标签,为其应用样式
示例:

/*标签选择器 : 根据标签名匹配所有的该标签*/  
p{color:red;
}

3. 外链样式表(项目中使用)

  • 创建外部样式表文件 后缀使用.css
  • 在HTML文件中使用标签引入外部样式表
<link rel="stylesheet" href="URL" type="text/css">
  • 样式表文件中借助选择器匹配标签应用样式
    在这里插入图片描述

三、 样式表特征

1. 层叠性

多组CSS样式共同作用于一个标签

2. 继承性

后代标签可以继承祖先标签中的某些样式
例 : 大部分的文本属性都可以被继承

3. 样式表的优先级

优先级用来解决样式冲突问题。同一个标签的同一个样式(例如文本色),在不同地方多次进行设置,最终选用哪一种样式?此时哪一种样式表的优先级高选用哪一种。

  • 离标签最近的样式优先级最高(就近原则)

  • 文档内嵌与外链样式表,优先级一致,看代码书写顺序,后来者居上

  • 浏览器默认样式和继承样式优先级较低

在这里插入图片描述

四、CSS 选择器

1. 作用

匹配文档中的某些标签为其应用样式

2. 分类 :

1. 标签选择器

根据标签名匹配文档中所有该标签
语法 :

标签名{属性:;
}
2. id选择器

根据标签的 id 属性值匹配文档中惟一的标签,id具有唯一性,不能重复使用
语法 :

  #id属性值{}

注意 :id属性值自定义,可以由数字,字母,下划线,- 组成,不能以数字开头;

尽量见名知意,多个单词组成时,可以使用连接符,下划线,小驼峰表示。

3. class选择器/类选择器

根据标签的class属性值匹配相应的标签,class属性值可以重复使用,实现样式的复用
语法 :

.class属性值 {}

注意:标签与类选择器结合时,标签在前,类选择器在后 例 : a.c1{ }

4. 群组选择器

为一组标签统一设置样式
语法 :

selector1,selector2,selector3{	
}
5. 后代选择器

匹配满足选择器的所有后代标签(包含直接子标签和间接子标签)
语法 :

selector1 selector2{
}

匹配selector1中所有满足selector2的后代标签

6. 子代选择器

匹配满足选择器的所有直接子标签
语法 :

selector1>selector2{
}
7. 伪类选择器

为标签的不同状态分别设置样式,必须与基础选择器结合使用
分类 :

:hover	 鼠标滑过时的状态
:focus	 焦点状态(文本框被编辑时就称为获取焦点)

使用 :

.c1:hover{ }
.txt:focus{}

3. 选择器的优先级

选择器为标签设置样式,发生冲突时,主要看选择器的权重,权重越大,优先级越高,也可用 !important 变更。

选择器权重
标签选择器1
(伪)类选择器10
id选择器100
行内样式1000

复杂选择器(后代,子代,伪类)最终的权重为各个选择器权重值之和群组选择器权重以每个选择器单独的权重为准,不进行相加计算
例 :

/*群组选择器之间互相独立,不影响优先级*/
body,h1,p{ /*标签选择器权重为 1 */color:red;
}
.c1 a{ /*当前组合选择器权重为 10+1  */color:green;
}
#d1>.c2{ /*当前组合选择器权重为 100+10 */color:blue;
}

五、标签的尺寸和颜色

1. 过渡动画
2. 标签的尺寸
  1. px 像素单位
  2. 百分比 % 相对父标签
  3. 相对单位 em 1em=16px 通常用于移动端的页面开发 常用1.5em
  4. rpx=小程序页面的单位
  5. 当页面标签的内容大小超出了标签的宽度,可以使用 overflow 属性 来解决超出部分的显示方式,建议使用auto;
3. 颜色
  1. 标签的字体,背景,边框

  2. 使用方式 color:red;

    1. 英文单词

    2. rgb:

      1. rgb(0~255),rgb(2,3,5)

      2. rgba(0~1),rgba(2,3,5,0.5)

    3. 16进制

      1. 长的16进制 #ffffff; #000000

      2. 短的16进制 #fff;#000

六、 盒子模型

1. 基础概念

​ 盒子模型分别由外边距、边框、内边距和标签内容组成。

在这里插入图片描述

2. 外边距

在这里插入图片描述

  1. 属性:margin

  2. 作用:调整标签与标签之间的距离

  3. 特殊:
    1)margin:0; 取消默认外边距
    2)margin:0 auto;左右自动外边距,实现标签在父标签范围内水平居中
    3)margin:-10px;标签位置的微调

  4. 单方向外边距:只取一个值

     margin-topmargin-rightmargin-bottommargin-left
    
  5. 外边距合并:
    1)垂直相遇

    • 子标签的margin-top作用于父标签上

    • 标签之间同时设置垂直方向的外边距,最终取较大的值

      在这里插入图片描述

    2)包含合并

    • 当一个标签包含在另一个标签中时,它们的上面和包含上面的父标签

    • 下面和包含下面的外标签的边距之间也会发生合并

      !在这里插入图片描述

3. 边框

1) 边框实现

语法:

border:width style color;

边框样式为必填项,分为:

样式取值含义
solid实线边框
dotted点线边框
dashed虚线边框
double双线边框
2) 单边框设置

分别设置某一方向的边框,取值:width style color;

属性作用
border-top设置上边框
border-bottom设置下边框
border-left设置左边框
border-right设置右边框
3) 网页三角标制作
  1. 标签设置宽高为0
  2. 统一设置四个方向透明边框
  3. 调整某个方向边框可见色
4) 圆角边框

在这里插入图片描述

  1. 属性:border-radius 指定圆角半径
  2. 取值:像素值或百分比
  3. 取值规律:
一个值 	表示统一设置上右下左
四个值 	表示分别设置上右下左
两个值 	表示分别设置上下 左右
三个值 	表示分别设置上右下,左右保持一致
5) 轮廓线
  1. 属性:outline
  2. 取值:width style color
  3. 区别:边框实际占位,轮廓不占位
  4. 特殊:取none可以取消文本输入框默认轮廓线

2. 内边距

在这里插入图片描述

  1. 属性:padding
  2. 作用:调整标签内容框与边框之间的距离
  3. 取值:单位是 px 或百分比,但不允许使用负值
20px;			 一个值表示统一设置上右下左
20px 30px;		 两个值表示分别设置(上下) (左右)
20px 30px 40px;	三个值表示分别设置上右下,左右保持一致
20px 30px 40px 50px;	表示分别设置上右下左
  1. 单方向内边距,只能取一个值:
padding-top
padding-right
padding-bottom
padding-left

3. 盒阴影

在这里插入图片描述

  1. 属性:box-shadow
  2. 取值:h-shadow v-shadow blur spread color;
  3. 使用:不管是浏览器窗口还是标签自身都可以构建坐标系,统一以左上角为原点,向右向下为X轴和Y轴的正方向
h-shadow 	取像素值,阴影的水平偏移距离
v-shadow 	取像素值,阴影的垂直偏移距离
blur 		取像素值,表示阴影的模糊程度,值越大越模糊
spread 		选填,取像素值,阴影的尺寸
color 		设置阴影颜色,默认为黑色

4. 盒模型概念

  1. 在模型中,它规定了标签处理内容、内边距、边框和外边距的方式
  2. 最内是内容,包围内容的是内边距,内边距的边缘是边框
  3. 边框以外是外边距,外边距默认是透明的

5. 标签最终尺寸的计算

  1. 盒模型相关的属性会影响标签在文档中的实际占位,进而影响布局

  2. 标签设置width/height指定的是内容框的大小

  3. 最终尺寸 = width/height+padding+border+margin

七、布局方式

在这里插入图片描述

1. 普通文档流

​ 默认布局方式,按照代码书写顺序及标签类型从上到下,从左到右依次显示。

在这里插入图片描述

2. 浮动布局

​ 主要用于设置块元素的水平排列

在这里插入图片描述

1)属性
float
2)取值

可取 left 或 right,设置元素向左浮动或向右浮动

float:left/right;
clear:left/right/both
3)特点
  • 元素设置浮动会从原始位置脱流,向左或向右依次停靠在其他元素边缘,在文档中不再占位
  • 元素设置浮动,就具有块元素的特征,可以手动调整宽高
  • “文字环绕”:浮动元素遮挡正常元素的位置,无法遮挡正常内容的显示,内容围绕在浮动元素周围显示
4)常见问题

子元素全部设置浮动,导致父元素高度为0,影响父元素背景色和背景图片展示,影响页面布局

5)解决
  • 对于内容固定的元素,如果子元素都浮动,可以给父元素固定高度(例:导航栏)
  • 在父元素的末尾添加空的块元素。设置 clear:both; 清除浮动
  • 为父元素设置 overflow:hidden; 解决高度为0

3. 定位布局

​ 结合偏移属性调整元素的显示位置

在这里插入图片描述

1)属性

position

2)取值

可取relative(相对定位)/ absolute(绝对定位)/ fixed(固定定位)

postion:relative/absolute/fixed
3)偏移属性

设置定位的元素可以使用偏移属性调整距离参照物的位置

top   	距参照物的顶部
right	距参照物的右侧
bottom	距参照物的底部
left	距参照物的左侧
4)分类
  • relative 相对定位
元素设置相对定位,可参照元素在文档中的原始位置进行偏移,不会脱离文档流
  • absolute 绝对定位
1. 绝对定位的元素参照离他最近的已经定位的祖先元素进行偏移,如果没有,则参照窗口进行偏移
2. 绝对定位的元素会脱流,在文档中不占位,可以手动设置宽高

使用绝对定位 : 父元素设置相对定位,子元素绝对定位,参照已定位的父元素偏移

  • fixed 固定定位
1. 参照窗口进行定位,不跟随网页滚动而滚动
2. 脱离文档流
5)堆叠次序

元素发生堆叠时可以使用 z-index 属性调整已定位元素的显示位置,值越大元素越靠上:

  • 属性 : z-index

  • 取值 : 无单位的数值,数值越大,越靠上

  • 堆叠:

    1. 定位元素与文档中正常元素发生堆叠,永远是已定位元素在上
    2. 同为已定位元素发生堆叠,按照 HTML 代码的书写顺序,后来者居上

八、背景属性

1. 背景颜色

background-color: red;

2. 背景图片相关

1)设置背景图片
background-image : url("路径");

设置背景图片,指定图片路径,如果路径中出现中文或空格,需要加引号

2)设置背景图片的重复方式

默认背景图片从元素的左上角显示,如果图片尺寸与元素尺寸不匹配时,会出现以下情况:

  1. 如果元素尺寸大于图片尺寸,会自动重复平铺,直至铺满整个元素
  2. 如果元素尺寸小于图片尺寸,图片默认从元素左上角开始显示,超出部分不可见
background-repeat:repeat/repeat-x/repeat-y/no-repeat
取值 :repeat  默认值,沿水平和垂直方向重复平铺repeat-x 沿X轴重复平铺repeat-y 沿Y轴重复平铺no-repeat 不重复平铺
3)设置背景图片的显示位置

默认显示在元素左上角

background-position:x y;

取值方式 :

1. 像素值设置背景图片的在元素坐标系中的起点坐标
2. 方位值水平:left/center/right垂直:top/center/bottom注:如果只设置某一个方向的方位值,另外一个方向默认为center

精灵图技术 :为了减少网络请求,可以将所有的小图标拼接在一张图片上,一次网络请求全部得到;借助于background-position 进行背景图片位置的调整,实现显示不同的图标

4)设置背景图片的尺寸
background-size:width height;

取值方式 :

1. 像素值1. 500px 500px; 同时指定宽高2. 500px;  指定宽度,高度自适应
2. 百分比百分比参照元素的尺寸进行计算1. 50% 50%; 根据元素宽高,分别计算图片的宽高2. 50%; 根据元素宽度计算图片宽高,图片高度等比例缩放

3. 背景属性简写

background:color url("") repeat position;

注意 :

  1. 如果需要同时设置以上属性值,遵照相应顺序书写
  2. background-size 单独设置

九、文本属性

1. 字体相关

1)设置字体大小
font-size:20px;
2)设置字体粗细程度
font-weight:normal;

取值 :

1. normal(默认值)等价于400
2. bold   (加粗) 等价于700
3)设置斜体
font-style:italic;
4)设置字体名称
font-family:Arial,"黑体","宋体"; 

取值 :

1.可以指定多个字体名称作为备选字体,使用逗号隔开
  1. 如果字体名称为中文,或者名称中出现了空格,必须使用引号

    例 :

font-family:Arial;
font-family:"黑体","Microsoft YaHei",Arial;
5)字体属性简写
font : style weight size family;

注意 :

   1. 如果四个属性值都必须设置,严格按照顺序书2. size family 是必填项

2. 文本样式

1)文本颜色
color:red;
2)文本装饰线
text-decoration:none;

取值 :
underline 下划线
overline 上划线
line-through 删除线
none 取消装饰线

3)文本内容的水平对齐方式
text-align:center;

取值 :

left(默认值)	左对齐
center		  居中对齐
right		  右对齐
4)行高
line-height:30px;

使用 :
文本在当前行中永远垂直居中,可以借助行高调整文本在元素中的垂直显示位置
line-height = height 设置一行文本在元素中垂直居中
line-height > height 文本下移显示
line-height < height 文本靠上显示
特殊 :
line-height可以采用无单位的数值,代表当前字体大小的倍数,以此计算行高



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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习redis之前的泛泛而谈(特性介绍,应用场景,Ubuntu安装与通用命令介绍)

文章目录 前言关于分布式系统Redis特性Redis应用场景Redis5安装redis命令最核心的两个命令&#xff1a;get和setkeysexitsdelexpirettlredis中key的过期策略type redis数据类型的内部实现方式redis的单线程 前言 redis最重要的概念&#xff1a;在内存中存储数据 为什么要设计一…

代购商城源码是否可以定制开发?

定制开发&#xff0c;符合个性需求 代购商城源码是现代电子商务中的重要工具&#xff0c;它为代购商提供了建立在线店铺、管理产品和订单、处理支付和物流等功能。然而&#xff0c;对于不同的代购商而言&#xff0c;在源码的基础上进行个性化定制开发无疑是提升竞争力和用户体验…

2023年软件测试工具总结 —— 单元测试工具

在应用程序中&#xff0c;单元是具有一个或多个输入和单个输出的软件中最小可测试部分。单元测试是一种测试软件代码单元的方法&#xff0c;通常包括一个或两个输入&#xff0c;产生一个输出。单元测试主要关注独立模块的功能正确性&#xff0c;目的是确保每个单元都按照预期的…

毛发渲染方案实现

一、毛发材质概述 以前毛发只能用离线来做 现在实时毛发逐渐可能。长毛渲染和短毛渲染采用的是不同的方案。 二、长毛类制作分析 各向异性 kajiya算法 # 三、短毛类制作分析 四、制作心得及技巧

成为一个优秀的测试工程师需要具备哪些知识和经验?

看到这个题目&#xff0c;头脑中马上就拆分出了3个小问题&#xff1a; 1、什么是优秀的测试工程师&#xff1f; 2、优秀测试工程师需要哪些知识&#xff1f; 3、优秀测试工程师需要哪些经验&#xff1f; 一个个讲解。 一、什么才是一名优秀的测试工程师呢&#xff1f; 什么才是…

奇富科技引领大数据调度革命:高效、稳定、实时诊断

日前&#xff0c;在世界最大的开源基金会 Apache旗下最为活跃的项目之一DolphinScheduler组织的分享活动上&#xff0c;奇富科技的数据平台专家刘坤元应邀为国内外技术工作者献上一场题为《Apache DolphinScheduler在奇富科技的优化实践》的精彩分享&#xff0c;为大数据任务调…

C++进阶语法——智能指针【学习笔记(五)】

文章目录 1、智能指针简介1.1 原始指针&#xff08;raw pointer&#xff09;的⼀些问题1.2 智能指针&#xff08;smart pointers&#xff09; 2、智能指针&#xff08;smart pointers&#xff09;——unique_ptr2.1 unique_ptr 的声明2.2 unique_ptr 的函数2.3 ⾃定义类型使⽤ …

Go-Python-Java-C-LeetCode高分解法-第十二周合集

前言 本题解Go语言部分基于 LeetCode-Go 其他部分基于本人实践学习 个人题解GitHub连接&#xff1a;LeetCode-Go-Python-Java-C 欢迎订阅CSDN专栏&#xff0c;每日一题&#xff0c;和博主一起进步 LeetCode专栏 我搜集到了50道精选题&#xff0c;适合速成概览大部分常用算法 突…

比较Excel中的两列目录编号是否一致

使用java代码比较excel中两列是否有包含关系&#xff0c;若有包含关系&#xff0c;核对编号是否一致。 excel数据样例如下&#xff1a; package com.itownet.hg;import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import j…

C++设计模式_21_Iterator 迭代器(理解;面向对象的迭代器已过时;C++中使用泛型编程的方式实现)

Iterator 迭代器也是属于“数据结构”模式。GoF中面向对象的迭代器已经过时&#xff0c;C中目前使用泛型编程的方式实现&#xff0c;其他语言还在使用面向对象的迭代器。 文章目录 1. 动机(Motivation)2. 模式定义3. Iterator 迭代器代码分析4. 面向对象的迭代器与泛型编程实现…

基于MFC的串口通信(Mscomm)

1、串口通信的概述&#xff1a; 串口是一种重要的通信资源&#xff0c;例如鼠标口、USB接口都是串口。串行端口是CPU和串行设备间的编码转换器。当数据从CPU经过端口发送出去的时候&#xff0c;字节数据会被转为串行的位&#xff0c;在接收数据时&#xff0c;串行的位被转换为…

用Visual Studio(VS)开发UNIX/Linux项目

目录 FTP是免不了的 正确设置头文件 组织项目结构 创建何种项目类型 FTP自动上传 大部分具有Windows开发经验的程序员会比较喜欢使用Visual Studio&#xff0c;而大部分Unix/Linux程序员则喜欢使用UltraEdit直接在主机上写代码。 为什么直接在主机上写代码呢&#xff0c;因…

AIGC - Qwen大模型:Qwen-7B模型推理部署

硬件环境 作为AIGC方面的小白来说&#xff0c;我抱着非常天真的想法&#xff0c;想让它在我的工作笔记本上用i5的CPU去跑&#xff0c;至于为什么这么想&#xff0c;当然是因为我没有GPU&#xff0c;身边也没有其他的带显卡电脑 恰好&#xff0c;在腾讯云看到了GN7的显示优惠活…

内存DMA及设备内存控制详解

序言 对于PCIe 设备&#xff08;PCIe Endpoint&#xff09;来说&#xff0c;其和CPU CORE、DRAM 的交互&#xff0c;主要涉及两种类型的内存访问&#xff1a; 设备内存访问&#xff1a;PCIe 设备的 Device Memory&#xff08;设备内存&#xff09;的访问&#xff0c;例如CPU …

③ 软件工程CMM、CMMI模型【软考中级-软件设计师 考点】

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ ③ 软件工程CMM、CMMI模型【软考中级-软件设计…

flink 反压原理

背景 在flink中由于数据倾斜或者数据处理速率的不匹配&#xff0c;很容易引起反压&#xff0c;本文就看一下flink反压的原理 flink反压原理 flink全流程pineline的反压实现其实依赖于TaskManager之间的反压和TaskManager内部的反压来实现 1.TaskManager之间的反压 2.Task…

视频下载软件 Downie4 mac中文介绍

Downie mac是一款Mac平台上非常实用的视频下载工具。它支持下载各种视频网站上的视频&#xff0c;并且具有快速、稳定、易于使用的特点。 Downie支持下载各种视频网站上的视频&#xff0c;包括YouTube、Vimeo、Netflix、Hulu、Amazon等等。它具有快速、稳定的下载速度&#xff…

Python---判定表法(功能测试)

能对多条件依赖关系进行设计测试点---判定表法 等价类、边界值分析法主要关注单个输入类条件的测试 定义:是一种以表格形式表达多条件逻辑判断的工具。 条件桩: 列出问题中的所有条件&#xff0c;列出条件的次序无关紧要动作桩: 列出问题中可能采取的操作&#xff0c;操作的…

python基于VGG19实现图像风格迁移

目录 1、原理 2、代码实现 1、原理 图像风格迁移是一种将一张图片的内容与另一张图片的风格进行合成的技术。 风格&#xff08;style&#xff09;是指图像中不同空间尺度的纹理、颜色和视觉图案&#xff0c;内容&#xff08;content&#xff09;是指图像的高级宏观结构。 实…

mac 安装homebrew ,golang

mac 安装homebrew ,golang 安装homebrew安装golang选择 apple arm 版本安装配置环境变量 安装homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"回车执行指令后&#xff0c;根据提示操作。具体包括以下提示操作&am…