CSS的总结

news2025/1/15 20:55:29

从HTML被发明开始,样式就以各种形式存在。不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制。最初的HTML只包含很少的显示属性。 随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加,HTML变的越来越杂乱,而且HTML页面也越来越臃肿。于是CSS便诞生了。

概述

简单来说,层叠样式表(Cascading Style Sheet)是一种专门用来控制界面外观风格的文档。 主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。

CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且还可以针对不同的浏览器设置不同的样式。

CSS的使用方式

行内样式

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>This is title</title>
    </head>
    <body>
        <p style="font-size: 16px; color: red;">大家好</p>
    </body>
</html>
行内样式需要写到标签的 style 属性值中。
这种形式多用于测试,可维护性较差

内部样式表

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>This is title</title>
        <style>
            p {
                font-size: 16px;
                color: red;
            }
        </style>
    </head>
    <body>
        <p>Hello everyone</p>
    </body>
</html>
内部样式需要写到 <style> 标签中。
通过这种形式定义的样式只在本页面内生效

外部样式表

将样式写到单独的文件中,文件的扩展名为 .css

然后通过 <link> 元素将 index.css 文件引入到页面中:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>This is title</title>
        <link rel="stylesheet" type="text/css" href="./css/index.css">
    </head>
    <body>
        <p>hello world</p>
    </body>
</html>
发中主要是通过这种形式定义样式

基本语法

CSS 样式由一系列的规则集组成,规则集中有一条或多条样式声明。

选择器通常是您需要改变样式的 HTML 元素。
每条样式声明包含着一对属性名和属性值。
属性名和属性值之间以冒号(:)隔开。
样式规则之间以分号(;)隔开。

字体样式属性

font-size:字号大小

font-size属性用于设置字号。推荐使用像素单位px。

  • px

  • px单位名称为像素,像素是固定大小的单元,用于屏幕媒体(即在电脑屏幕上读取)。

  • 大多数浏览器的默认字体大小是16px

  • 一个像素等于电脑屏幕上的一个点 (是你屏幕分辨率的最小分割)。

  • em

  • em是相对字体长度单位。如果用于font-size属性本身,则是相对于父元素的font-size。

  • em的值并不是固定的;

  • em会继承父级元素的字体大小。

font-family:字体

font-family属性用于设置字体。网页中常用的字体有宋体、微软雅黑、黑体等

p{ 
    font-family:"Arial","微软雅黑";
}
  • 现在网页中普遍使用16px、字体是微软雅黑

  • 各种字体之间必须使用英文状态下的逗号隔开

  • 尽量使用系统默认字体,保证在任何用户的浏览器中都能正确显示

font-weight:字体粗细

字体加粗除了用 b 和 strong 标签之外,可以使用css 来实现。font-weight属性用于定义字体的粗细,其可用属性值:normal、bold、bolder、lighter、100~900(100的整数倍)

  • normal

  • 默认值。定义标准的字符。

  • bold

  • 定义粗体字符。

  • bolder

  • 定义更粗的字符。

  • lighter

  • 定义更细的字符。

  • 100~900

  • 定义由粗到细的字符。400 等同于 normal,而 700 等同于 bold。

font-style:字体风格

font-style属性用于定义字体风格,如设置斜体、倾斜或正常字体

  • normal

  • 默认值,浏览器会显示标准的字体样式。

  • italic

  • 浏览器会显示斜体的字体样式。

  • oblique

  • 浏览器会显示倾斜的字体样式。

开发者工具(chrome)

此工具是我们的必备工具,以后代码出了问题,我们首先就是:“按F12”或者是 “shift+ctrl+i” 打开开发者工具。

ctrl+滚轮可以放大开发者工具代码大小。
左边是HTML元素结构 右边是CSS样式。
右边CSS样式可以改动数值和颜色查看更改后效果。

CSS注释

CSS规则是使用 /* 需要注释的内容 */ 进行注释的。

p{
  font-size: 14px;                 /* 所有的字体是14像素大小*/
  }

选择器

标签选择器

p {
    font-size: 16px;
    color: red;
}
选择页面中所有的 <p> 元素,给它们设置字体大小和颜色。

Class 选择器

.box {
    font-size: 20px;
    color: green;
}
选择页面中 class 属性值中包含 box 类名的所有元素,给它们设置字体大小和颜色。

ID 选择器

#nav {
    font-size: 24px;
    color: blue;
}
选择页面中 id 属性值是 nav 的元素,给它设置字体大小和颜色。

id选择器和类选择器区别

  • 在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class

  • 类选择器(class) 好比人的名字, 是可以多次重复使用的

  • id选择器 好比人的身份证号码, 全中国是唯一的, 不得重复

伪类选择器

伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果等。

链接伪类选择器

/* 未访问的链接 */
:link   
 /* 已访问的链接 */
:visited 
/* 鼠标移动到链接上 */
:hover
/* 选定的链接 */
:active
a:link会对拥有a标签的属性href="",即拥有实际链接地址的a对象发生效果
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 未访问的链接 */
        a:link{
            color: yellow;
        }

        /* 已访问的链接 */
        a:visited{
            color:aqua;
        }
        /* 鼠标放上去 */
        a:hover{
         color: darkmagenta;
        }
        /* 鼠标点着不放 */
        a:active{
            color:blue;
        }


    </style>
</head>
<body>
    <a href="#">百度</a>
    <a href="https://www.baidu.com"></a>
    <div class="box">div元素</div>
    <!-- 注意点:
    在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后,这样才能生效!    
    a:active 必须位于 a:hover 之后,这样才能生效! -->
</body>
</html>

外观属性

color:文本颜色

属性值为预定义的颜色名 | 十六进制值的颜色值 | RGB颜色值

一般情况下颜色我们喜欢小写字母 比如 #ff0000。

颜色半透明(css3)

语法格式

/* a 是alpha透明的意思,取值范围 0~1之间  */
color: rgba(r,g,b,a)    
color: rgba(0,0,0,0.3)  

line-height:行间距

行高是指文本行基线间的垂直距离:基线与基线之间的距离。

属性值:normal |数字 | 长度值 | 百分比

  • normal:默认值,行高由浏览器自动处理。

  • 数字:行高 = 数字 * 字体大小

  • 长度值:使用长度值设置行高

text-align:水平对齐方式

属性值:left | right | center | justify

  • left:内容左对齐

  • center:内容居中对齐

  • right:内容右对齐

  • justify:内容两端对齐

text-indent:首行缩进

text-indent属性用于设置首行文本的缩进,其属性值可为不同单位的数值、em字符宽度的倍数、或相对于浏览器窗口宽度的百分比%,允许使用负值, 建议使用em作为设置单位。

text-decoration:文本修饰

属性值:none | underline | overline | line-through

  • none:指定文字无装饰

  • underline:指定文字的装饰是下划线

  • overline:指定文字的装饰是上划线

  • line-through:指定文字的装饰是贯穿线

letter-spacing:字符间距

  • normal:默认间隔

  • 长度值:用长度值指定间隔,可以为负值

word-spacing(单词)

  • normal:默认间隔

  • length:用长度值指定间隔,可以为负值

文字阴影(CSS3)

text-shadow:水平位置 垂直位置 模糊距离 阴影颜色;
  • h-shadow

  • 必需。水平阴影的位置。允许负值。

  • v-shadow

  • 必需。垂直阴影的位置。允许负值。

  • blur

  • 可选。模糊的距离。

  • color

  • 可选。阴影的颜色。

/* 多重阴影 */
text-shadow: -5px 0px cyan, 5px 0px red;

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

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

相关文章

ISIS的路由器级别level-1、level-2、level-1-2,报文格式

2.1.0 ISIS的路由器级别level-1、level-2、level-1-2&#xff0c;报文格式 通过该文章了解ISIS的路由器级别类型、级别之间建立的邻接关系、各级别的作用、ISIS报文的结构。 ISIS路由器级别 Level-1 level-1路由器又称L1路由器&#xff0c;是一种ISIS区域内部路由&#xff0c…

6、运算符

目录 一、赋值运算符 二、算数运算符 三、自增和自减运算符 四、比较运算符 五、逻辑运算符 六、位运算符 1. “按位与”运算 2. “按位或”运算 3. “按位取反”运算 4. “按位异或”运算 5. 移位操作 七、三元运算符 八、运算符优先级 一、赋值运算符 赋值运算…

[Android开发基础1] 五大常用界面布局

文章目录 一、线性布局 二、相对布局 三、帧布局 四、表格布局 五、约束布局 总结 一、线性布局 线性布局&#xff08;LinearLayout&#xff09;主要以水平或垂直方式来显示界面中的控件。当控件水平排列时&#xff0c;显示顺序依次为从左到右&#xff0c;当控件垂直排列时…

29/365 java 网络通信 IP InetAddress

1.网络通信&#xff1a; 如何定位到一台主机&#xff1f; IP地址 定位主机&#xff0c; 端口号定位到具体的应用程序 如何在主机之间通信&#xff08;传输数据&#xff09;&#xff1f; 网络通信协议 2.IP地址分类 IPv4: 32位 IPv6地址&#xff1a;128位 IPv6地址使用以冒号…

初学python100例-案例37 合并排序列表 少儿编程python编程实例讲解

目录 python合并排序列表 一、题目要求 1、编程实现 2、输入输出

C语言形参和实参的区别

如果把函数比喻成一台机器&#xff0c;那么参数就是原材料&#xff0c;返回值就是最终产品&#xff1b;从一定程度上讲&#xff0c;函数的作用就是根据不同的参数产生不同的返回值。这一节我们先来讲解C语言函数的参数&#xff0c;下一节再讲解C语言函数的返回值。C语言函数的参…

浅谈多任务学习

目录 一、前言及定义 二、多任务学习&#xff08;MTL&#xff09;的两种方法 2.1 参数的硬共享机制&#xff08;hard parameter sharing&#xff09; 2.2 参数的软共享机制&#xff08;soft parameter sharing&#xff09; 三、多任务学习模型 3.1 MT-DNN 3.2 ERNIE 2.0…

数学建模学习笔记(9)多元线性回归分析(非常详细)

多元线性回归分析1.回归分析的地位、任务和分类2.数据的分类3.对线性的理解、系数的解释和内生性4.取对数预处理、虚拟变量和交互效应5.使用Stata进行多元线性回归分析6.异方差7.多重共线性8.逐步回归法1.回归分析的地位、任务和分类 回归分析的地位&#xff1a;数据分析中最基…

cclow 面试心得

开源ccflow学习的一些心得目录概述需求&#xff1a;设计思路实现思路分析1.心得参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,challenge …

JavaEE-文件和IO(一)

目录一、文件1.1 认识文件1.2 树型结构组织和目录1.3 文件路径二、Java中操作文件2.1 文件系统相关的操作一、文件 1.1 认识文件 平时说的文件一般都是指存储再硬盘上的普通文件&#xff0c;形如txt&#xff0c;jpg&#xff0c;MP4&#xff0c;rar等这些文件都可以认为是普通…

Java集合常见面试题(四)

Map 接口 HashMap 的底层实现 JDK1.8 之前 JDK1.8 之前 HashMap 底层是 数组和链表 结合在一起使用也就是 链表散列&#xff0c;数组是 HashMap 的主体&#xff0c;链表则是主要为了解决哈希冲突而存在的。 HashMap 通过 key 的 hashcode 经过扰动函数&#xff08;hash函数&…

JAVA基础知识08集合基础

目录 1. 集合 1.1 什么是集合&#xff1f; 1.2 ArrayList 1.2.1 ArrayList 长度可变原理 1.2.2 集合和数组的使用选择 1.2.3 ArrayList 集合常用成员方法 1. 集合 1.1 什么是集合&#xff1f; 集合是一种容器&#xff0c;用来装数据的&#xff0c;类似于数组。 其长度可…

线段树的懒标记与应用

目录 一、前言 二、Lazy-tag技术 1、update() 中的lazy-tag 三、例题 1、区间修改、区间查询&#xff08;lanqiaoOJ 1133&#xff09; 一、前言 本文主要讲了线段树的Lazy-tag技术和一道例题&#xff0c;建议自己要多练习线段树的题目。 二、Lazy-tag技术 背景&#xf…

水面漂浮物垃圾识别检测系统 YOlOv7

水面漂浮物垃圾识别检测系统通过PythonYOLOv7网络模型&#xff0c;实现对水面漂浮物以及生活各种垃圾等全天候24小时不间断智能化检测。Python是一种由Guido van Rossum开发的通用编程语言&#xff0c;它很快就变得非常流行&#xff0c;主要是因为它的简单性和代码可读性。它使…

Linux- 系统随你玩之--文本处理三剑客-带头一哥-awk

文章目录1、awk概述2、awk原理2.1、 awk 工作原理2.2、 与sed工作原理比较2.3、 awk与sed的区别3、使用方法及原理3.1、格式如下&#xff1a;3.2、 匹配规则3.3、 参数说明3.4、处理规则与流程控制3.5、 常用 awk 内置变量3.6、 awk 正则表达式解释4、操作实例4.1、 准备工作4.…

(十七)抽象队列同步器AQS

AQSAbstractQueuedSynchronizer抽象同步队列简称AQS&#xff0c;它是实现同步器的基础组件&#xff0c;并发包中锁的底层就是使用AQS实现。类图如下&#xff0c;AbstractQueuedLongSynchronizer与AbstractQueuedSynchronizer结构一模一样&#xff0c;只是AbstractQueuedSynchro…

Springboot+java师生交流答疑作业系统

&#xff0c;本系统拥有学生&#xff0c;教师&#xff0c;管理员三个角色&#xff0c;学生可以注册登陆系统&#xff0c;查看新闻&#xff0c;查看教学&#xff0c;在线提问答疑&#xff0c;提交作业&#xff0c;发布交流&#xff0c;留言反馈等功能&#xff0c;教师可以发布教…

恶意代码分析实战 14 反虚拟机技术

14.1 Lab17-01 题目 这个恶意代码使用了什么反虚拟机技术&#xff1f; 恶意代码用存在漏洞的x86指令来确定自己是否运行在虚拟机中。 如果你有一个商业版本IDAPro&#xff0c;运行第17章中代码清单17-4所示的IDAPython脚本&#xff08;提供如jindAniM.py&#xff09;&#…

spring boot前后端交互之数据格式转换

在前后端分离开发的项目种&#xff0c;前端获取数据的方式基本都是通过Ajax。请求方法也有所不同,常见的有POST,GET,PUT,DELETE等。甚至连请求的数据类型都不一样&#xff0c;x-www-form-urlencodeed,form-data,json等。 那么在前后端交互过程中&#xff0c;具体的数据该如何接…

ESP32设备驱动-8x8LED点阵驱动(基于Max7219+SPI)

8x8LED点阵驱动(基于Max7219+SPI) 1、Max7219介绍 MAX7219/MAX7221是紧凑型串行输入/输出共阴极显示驱动器,可将微处理器(Ps)连接到多达8位的7段数字LED显示器、条形图显示器或64个独立LED。片上包括一个 BCD 代码 B 解码器、多路扫描电路、段和数字驱动器,以及存储每个数字…