博主信息
Lon
博文
22
粉丝
0
评论
0
访问量
2462
积分:0
P豆:48

CSS 初步了解

2021年09月24日 14:44:43阅读数:133博客 / Lon/ CSS

CSS初步了解

一、CSS简介

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

二、CSS语法

CSS 规则集(rule-set)由选择器和声明块组成:

选择器指向您需要设置样式的 HTML 元素。

声明块包含一条或多条用分号分隔的声明。

每条声明都包含一个 CSS 属性名称和一个值,以冒号分隔。

多条 CSS 声明用分号分隔,声明块用花括号括起来。

实例:选择器 {属性:属性值;}

  1. p {
  2. color: red;
  3. text-align: center;
  4. }

上述代码表示如下:

  • p 是 CSS 中的选择器(它指向要设置样式的 HTML 元素:<p>)。
  • color 是属性,red 是属性值
  • text-align 是属性,center 是属性值

三、CSS使用方式

1.外部 CSS

通过使用外部样式表,您只需修改一个文件即可改变整个网站的外观!

每个 HTML 页面必须在 head 部分的 <link> 元素内包含对外部样式表文件的引用。

实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>CSS简介</title>
  8. <!-- 外部样式在 HTML 页面 <head> 部分内的 <link> 元素中进行定义 -->
  9. <link rel="stylesheet" href="style.css">
  10. </head>
  11. <body>
  12. <h1>大家好啊</h1>
  13. </body>
  14. </html>

注意:

外部样式表可以在任何文本编辑器中编写,并且必须以 .css 扩展名保存。

外部 .css 文件不应包含任何 HTML 标签。

请勿在属性值和单位之间添加空格(例如 margin-left: 20 px;)。正确的写法是:margin-left: 20px;

2.内部 CSS

如果一个 HTML 页面拥有唯一的样式,那么可以使用内部样式表。

内部样式是在 head 部分的 <style> 元素中进行定义。

实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>CSS简介</title>
  8. <style>
  9. body{
  10. background-color: aqua;
  11. }
  12. h1{
  13. color: red;
  14. text-align: center;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <h1>大家好啊</h1>
  20. </body>
  21. </html>

3.行内 CSS

行内样式(也称内联样式)可用于为单个元素应用唯一的样式。

如需使用行内样式,请将 style 属性添加到相关元素。style 属性可包含任何 CSS 属性

实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>CSS简介</title>
  8. </head>
  9. <body>
  10. <h1 style="color: red;background-color:blue;">大家好啊!</h1>
  11. </body>
  12. </html>

4.层叠顺序与作用域

CSS不同使用方式的优先级

页面中的所有样式将按照以下规则“层叠”为新的“虚拟”样式表,其中第一优先级最高:

  1. 行内样式(在 HTML 元素中)
  2. 外部和内部样式表(在 head 部分,内部样式表与外部样式表的优先级和书写的顺序有关,后书写的优先级别高)
  3. 浏览器默认样式

行内样式具有最高优先级,并且将覆盖外部和内部样式以及浏览器默认样式。

作用域:内联样式的作用域最小,只能应用于当前元素,其次是内部样式表,能应用于当前HTML文件,最后是外部样式表,能应用于所有链接的HTML文件。

四.CSS选择器

CSS 选择器用于“查找”(或选取)要设置样式的 HTML 元素。

1.三大基础选择器

1.CSS 元素选择器

元素选择器根据元素名称来选择 HTML 元素。

2.CSS id 选择器

id 选择器使用 HTML 元素的 id 属性来选择特定元素。

元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!

要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id。

3.CSS 类选择器

类选择器选择有特定 class 属性的 HTML 元素。

如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。

实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>CSS简介</title>
  8. <style>
  9. h1{
  10. background-color: #ccc;
  11. }
  12. #a{
  13. color: red;
  14. }
  15. .b{
  16. text-align: center;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <h1 id="a" class="b">大家好啊!</h1>
  22. </body>
  23. </html>

2.高级选择器

  1. *         通配符
  2. .d1,.d2{}    群组选择器
  3. .d1 .d3{}    后代选择器
  4. .d1>.d2{}    子元素选择器

实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>CSS简介</title>
  8. <style>
  9. *{
  10. font-size: 20px;
  11. margin: 50px;
  12. }
  13. .p1,.p2{
  14. color: red;
  15. }
  16. .p1 p{
  17. color: aqua;
  18. font-size: 25px;
  19. }
  20. .p2>p{
  21. color: #000;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div class="p1">
  27. <p>大家好啊!</p>
  28. <div>
  29. <p>大家好啊!</p>
  30. </div>
  31. <p>大家好啊!</p>
  32. <p>大家好啊!</p>
  33. </div>
  34. <div class="p2">
  35. <p>大家好啊!</p>
  36. <div>
  37. <p>大家好啊!</p>
  38. </div>
  39. <p>大家好啊!</p>
  40. <p>大家好啊!</p>
  41. </div>
  42. </body>
  43. </html>

五、选择器权重比较

css权重计算规则

计算css权重是有一定规则的,根据w3c制定的css规范,css权重计算规则如下:

a)、计算选择符中的id选择器的数量
一个id选择器为一个a,一个a为100
b)、计算选择符中的类选择器、属性选择器以及伪类选择器的数量
一个类选择器、属性选择器以及伪类选择器为一个b,一个b为10
c)、计算标签类型选择器和伪对象选择器的数量
一个标签类型选择器、伪对象选择器为一个c,一个c为1 。

实例

  1. <h3 id="a" class="b">Hello PHP.CN</h3>
  2. <style>
  3. /* 选择当前的h3有三种选择器:
  4. 标签, class, id */
  5. /* 将id,class,tag,想像成一个三位整数,初始为 0, 0 ,0 */
  6. /* 百位 十位 个数
  7. id class tag
  8. 0 0 0 */
  9. /* 百位对应: id
  10. 十位对应: class
  11. 个位对应: tag */
  12. /* 1,1,0 */
  13. #a.b {
  14. background-color: lightblue;
  15. }
  16. /* 0, 1, 1 */
  17. h3.b {
  18. background-color: blue;
  19. }
  20. /* 0, 1, 0 */
  21. .b {
  22. background-color: cyan;
  23. }
  24. /* 0, 0 , 2 */
  25. body h3 {
  26. background-color: yellow;
  27. }
  28. /* 0, 0 , 1 */
  29. h3 {
  30. background-color: lightgreen;
  31. }
  32. </style>

权重记忆口诀。从0开始,一个行内样式+1000,一个id+100,一个属性选择器/class或者伪类+10,一个元素名,或者伪元素+1

通用标签ID类,选择包含加伪类

类型 权重
! important 无穷
行间样式 1000
id 100
class/属性选择器/伪类:hover 10
标签选择器/伪元素:after 1
通配符 0

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 本篇文章带大家下Nodejs中的异I/O。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    下面由Laravel教程栏目带大家一下Laravel中的生命周期,希望对需要的朋友有所帮助!
    有异I/O,必有异编程!今天来学习Node.js里的异编程,一下异编程的四种决方案!
    今天带大家python中日志异发送到远程服务器的方法。
    下面本篇文章带大家详细一下uniapp和小程序的分包骤,希望对大家有所帮助!
    给分享一下CSS体系图,很有用,大家收藏吧,下面本篇文章带来大家一下CSS入门知识。
    本篇文章是Nodejs的进阶学习,带大家详细一下Nodejs中的异I/O和事件循环,希望对大家有所帮助!
    我的想法:如果我要构建快速可靠的网站,需要真正浏览器渲染网页的每个骤机制,这样就可以在开发过程中对每个骤进行优化。 这篇文章是我在较高水平上对端到端过程的学习总结。
    通常我们在学习CSS的时候,感觉语法很容易掌握,实际应用中却碰到各式各样难以填补的“坑”,为避免大家受到同样的困惑与不,本文详细讲CSS中优先级和Stacking Context等高级特性。
    本篇文章带大家一下CSS中的选择器,介绍一下简单选择器、复合选择器、复杂选择器的语法,选择器优先级。
    本篇文章带大家一下CSS和网络性能。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    之前的文章《css怎么给文字添加边框或字体放大效果(代码详)》中,给大家介绍怎样使用css文字添加边框或字体放大。下面本篇文章给大家介绍如何用CSS制作一个简单美观的导航栏,我们一起看看怎么做。
    本篇文章带大家一下CSS属性*-gradient的使用技巧。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    “本文是析容器类源码之前做的一个简单的梳理,把大体梳理完脑海中有个印象才可以深入的对容器进行析。”
    本篇文章带大家一下下CSS容器查询,看看它将如何改变作为设计师的工作流。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    本篇文章给大家分享值得的10 个2021 年比较有用但又不热门的CSS功能,快来收藏吧!
    本篇文章带大家详细一下CSS变量。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    本篇文章带大家一下CSS属性函数 attr()。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    通过本文,你将会CSS background 中更为强大的一些用法,并且学会利用 background 相关的一些属性,采用不同的方式,去创造更复杂的背景图案。
    本文的主题正如标题所述是关于三元运算符的使用,不知道大家对于三元运算符有多少?不过我相信看完这篇文章,大家就会对三元运算符有的认识