飞道的博客

CSS3基础内容

317人阅读  评论(0)

目录

CSS基本样式

选择器分类

标签选择器

类选择器

利用类选择器画三个盒子

 多类名

id选择器

id选择器和类选择器的区别

通配符选择器

CSS字体属性

字体粗细font-weight

 字体样式

 CSS文本属性

CSS的引入方式

行内样式表(行内式)

内部样式表(嵌入式)

外部样式表(链接式)

 综合案例-新闻页面


CSS基本样式

CSS是层叠样式表的简称,CSS是一种标记语言,称为CSS样式表

CSS主要用于设置HTML页面中的文本内容、图片的外形以及版面的布局和外观显示样式

结构(HTML)与样式(CSS)相分离

CSS规则由两个主要的部分构成:选择器以及一条或多条声明

  • 选择器是用于指定CSS样式的HTML标签,花括号内是对该对象设置的具体样式
  • 属性和属性值以“键值对”的形式出现
  • 属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等
  • 属性和属性值之间用英文“:”分开
  • 多个"键值对"之间用英文";"分开

  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>CSS语法规范 </title>
  8. <style>
  9. /* 选择器{样式} */
  10. /* 给谁改样式{改什么样式} */
  11. p {
  12. color: red;
  13. /* 修改了文字大小为12像素 */
  14. font-size: 12px;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <p>有点意思 </p>
  20. </body>
  21. </html>

属性值前面,冒号后面,保留一个空格

选择器(标签)和大括号中间保留空格

选择器分类

选择器分为基础选择器和复合选择器

基础选择器是由单个选择器组成的;

基础选择器又包括:标签选择器、类选择器、id选择器和通配符选择器

标签选择器

用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签制定统一的CSS样式


  
  1. <style>
  2. /* 标签选择器:写上标签名 */
  3. p {
  4. color: green;
  5. }
  6. div {
  7. color: pink;
  8. }
  9. </style>

 作用:可以把某一类标签全部选择出来,比如所有的<div>标签和所有的<span>标签

优点:能快速为页面中同类型的标签统一设置样式

类选择器

如果想要差异化选择不同的标签,单独选一个或者几个标签,可以使用类选择器


  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>类选择器 </title>
  8. <style>
  9. /* 类选择器口诀:样式点定义 结构类(class)调用 一个或多个 开发最常用*/
  10. .red {
  11. color: red;
  12. }
  13. .star-sing {
  14. color: green;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <ul>
  20. <li class="red">冰雨 </li>
  21. <li class="red"></li>
  22. <li></li>
  23. <li>大雨 </li>
  24. <li>狂风暴雨 </li>
  25. <li class="star-sing">没下雨 </li>
  26. </ul>
  27. <div class="red">我也想变成红色 </div>
  28. </body>
  29. </html>
  • 类选择器使用"."进行标识,后面紧跟类名(不能是HTML中的标签名)
  • 可以理解为给这个标签起了一个名字
  • 长名称或词组可以使用中横线来为选择器命名
  • 不要使用纯数字、中文等命名,尽量使用英文字母来表示
  • 命名要有意义,尽量使别人一眼就知道这个类名的目的

利用类选择器画三个盒子


  
  1. <head>
  2. <title>利用类选择器画三个盒子 </title>
  3. <style>
  4. .red {
  5. width: 100px;
  6. height: 100px;
  7. background-color: red;
  8. }
  9. .green {
  10. width: 100px;
  11. height: 100px;
  12. background-color: green;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <div class="red">红色 </div>
  18. <div class="green">绿色 </div>
  19. <div class="red">红色 </div>
  20. </body>

 多类名

我们可以给一个标签指定多个类名,从而达到更多的选择目的。这些类名都可以选出这个标签


  
  1. <head>
  2. <title>多类名的使用方式 </title>
  3. <style>
  4. .red {
  5. color: red;
  6. }
  7. .font35 {
  8. font-size: 35px;
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <div class="red font35">张三 </div>
  14. </body>

  
  1. <style>
  2. .box {
  3. width: 100px;
  4. height: 100px;
  5. }
  6. .red {
  7. background-color: red;
  8. }
  9. .green {
  10. background-color: green;
  11. }
  12. </style>
  13. <body>
  14. <div class="box red">红色 </div>
  15. <div class="box green">绿色 </div>
  16. <div class="box red">红色 </div>
  17. </body>
  • 可以把一些标签元素相同的样式(共同的部分)放到一个类里面
  • 这些标签都可以调用这个公共的类,然后再调用自己的类
  • 节省CSS代码,统一修改也非常方便

id选择器

HTML元素以id属性来设置id选择器,CSS中id选择器以“#”来定义


  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>id选择器 </title>
  8. <style>
  9. /* id选择器的口诀:样式#定义,结构id调用,只能调用一次,别人切勿使用 */
  10. #pink {
  11. color: pink;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <div id="pink">迈克尔杰克逊 </div>
  17. </body>
  18. </html>

id选择器和类选择器的区别

  • 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用
  • id选择器好比人的身份证号码,全中国唯一的,不能重复
  • id选择器和类选择器最大的不同在于使用次数上
  • 类选择器在修改样式中用的最多,id选择器一般用于页面唯一性的元素上,经常和javaScript搭配使用

通配符选择器

通配符选择器使用"*"定义,它表示选取页面中所有元素(标签)

通配符选择器不需要调用,自动就给所有的元素使用样式


  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>通配符选择器 </title>
  8. <style>
  9. * {
  10. color: red;
  11. }
  12. /* *在这里把html body div span li 等等标签都改为了红色 */
  13. </style>
  14. </head>
  15. <body>
  16. <div>我的 </div>
  17. <span>我的 </span>
  18. <ul>
  19. <li>还是我的 </li>
  20. </ul>
  21. </body>
  22. </html>

CSS字体属性


  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>CSS字体属性之字体系列 </title>
  8. <style>
  9. h2 {
  10. font-family: '微软雅黑';
  11. }
  12. p {
  13. font-family: 'Microsoft YaHei',Arial,Helvetica,sans-serif;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <h2>静夜思 </h2>
  19. <p>床前明月光 </p>
  20. <p>疑是地上霜 </p>
  21. <p>举头望明月 </p>
  22. <p>低头思故乡 </p>
  23. </body>
  24. </html>
  • 各种字体之间必须使用英文状态下的逗号隔开
  • 一般情况下,如果有空格隔开的多个单词组成的字体,加引号
  • 尽量使用系统默认自带字体
  • 一个一个地试,如果第一个字体系统中不存在,则使用第二个,字体系列中都不存在的话就使用系统默认字体

标题标签的字体大小需要单独指定

字体粗细font-weight


  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>CSS字体属性之字体粗细 </title>
  8. <style>
  9. .bold {
  10. /* font-weight: bold; */
  11. /* 这个700的后面不要跟单位,等价于bold都是加粗的效果 */
  12. /* 实际开发中,我们提倡使用数字 */
  13. font-weight: 700;
  14. }
  15. h2 {
  16. font-weight: 400;
  17. /* 400是正常的,不加粗的 */
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <h2>静夜思 </h2>
  23. <p class="bold">床前明月光 </p>
  24. <p>疑是地上霜 </p>
  25. <strong>举头望明月 </strong>
  26. <!-- <strong>标签也可以实现字体加粗的效果 -->
  27. <p>低头思故乡 </p>
  28. </body>
  29. </html>

 字体样式


  
  1. font-style: italic;
  2. <em><i>标签也可以使得字体成为斜体

  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>复合属性 </title>
  8. <style>
  9. /* div文字变倾斜 加粗 字号设置为16像素 微软雅黑 */
  10. div {
  11. /* font-style: italic;
  12. font-weight: 700;
  13. font-size: 16px;
  14. font-family: '楷体','微软雅黑'; */
  15. /* 复写属性:简写的方式 节约代码*/
  16. /* font: font-style font-weight font-size/line-weight font-family
  17. 使用font属性时,必须按上面语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开
  18. 不需要设置的属性可以省略,但必须保留font-size和font-family属性,否则font属性将不起作用*/
  19. font:italic 700 16px '微软雅黑';
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div>世界这么大,我想去看看;钱包这么小,哪也去不了 </div>
  25. </body>
  26. </html>

 CSS文本属性


  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>CSS文本外观属性之颜色 </title>
  8. <style>
  9. div {
  10. /* color: pink; */
  11. /* color: #ff0000; */
  12. color: rgb( 255, 0, 0);
  13. }
  14. /* 让div盒子里面的文字水平居中对齐 */
  15. div {
  16. text-align: center;
  17. }
  18. /* 添加到文本的修饰,可以给文本添加下划线、删除线、上划线 */
  19. div {
  20. text-decoration: underline;
  21. /* 下划线 */
  22. }
  23. a {
  24. font-size: 24px;
  25. text-decoration: none;
  26. /* 取消a链接默认的下划线 */
  27. }
  28. div {
  29. /* text-indent: 20px; */
  30. /* 用来指定文本的第一行的缩进,通常是将段落的首行缩进 */
  31. text-indent: 2em;
  32. /* em是一个相对单位,就是当前元素一个文字的大小,如果当前元素没有设置大小,则会按照父元素的一个文字大小 */
  33. }
  34. p {
  35. font-size: 10px;
  36. line-height: 30px;
  37. /* line-height属性用于设置行间的距离,可以控制文字行与行之间的距离 */
  38. /* 行间距主要指的是上间距+文本高度+下间距 */
  39. }
  40. </style>
  41. </head>
  42. <body>
  43. <div>世界这么大,我想去看看 </div>
  44. <a href="#">粉红色的回忆 </a>
  45. <p>床前明月光 </p>
  46. <p>疑是地上霜 </p>
  47. <p>举头望明月 </p>
  48. <p>低头思故乡 </p>
  49. </body>
  50. </html>

CSS的引入方式

行内样式表(行内式)

在元素标签内部的style属性中设定CSS样式,适合于修改简单样式

style其实就是标签的属性,在双引号中间,写法要符合CSS规范

可以控制当前的标签设置样式

<p style="color: pink; font-size: 20px;">低头思故乡</p>

内部样式表(嵌入式)

将所有的CSS代码抽取出来,单独放到一个<style>标签中

<style>标签理论上可以放在HTML文档的任何地方,但一般会放在文档的<head>标签中

可以方便控制当前整个页面中的元素样式设置


  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>内部样式表 </title>
  8. <style>
  9. div {
  10. color: pink;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <div>所谓内部样式表,就是在html页面内部写样式,但是单独写到style标签内部 </div>
  16. </body>
  17. </html>

外部样式表(链接式)

实际开发都是外部样式表,适合于样式比较多的情况,核心是样式单独写到CSS文件中,之后把CSS文件引入到HTML页面中使用

引入外部样式表分为两步:

①新建一个后缀名为.css的样式文件,把所有CSS代码都放入此文件中

②在HTML页面中,使用<link>标签引入这个文件

<link rel="stylesheet" href="css文件路径">

  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>外部样式表 </title>
  8. <link rel="stylesheet" href="style.css">
  9. </head>
  10. <body>
  11. <div>我想去那黄土高坡 </div>
  12. </body>
  13. </html>

  
  1. /* CSS文件里面只有样式没有标签 */
  2. /* 文件名为style.css */
  3. div {
  4. color: red;
  5. }

 综合案例-新闻页面


  
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document </title>
  8. <style>
  9. body{
  10. font: 16px/ 28px '微软雅黑';
  11. }
  12. h1 {
  13. /* 文字不加粗 */
  14. font-weight: normal;
  15. /* 让h1里面的文字水平居中对齐 */
  16. text-align: center;
  17. }
  18. a {
  19. text-decoration: none;
  20. }
  21. .gray {
  22. color: #888888;
  23. font-size: 12px;
  24. text-align: center;
  25. }
  26. .search {
  27. color: #666666;
  28. width: 170px;
  29. }
  30. .btn {
  31. font-weight: 700;
  32. }
  33. p {
  34. /* 首行缩进2个字 */
  35. text-indent: 2em;
  36. }
  37. .pic {
  38. /* 想要图片居中对齐,则是让它的父亲p标签添加水平居中的代码 */
  39. text-align: center;
  40. }
  41. .footer {
  42. color: #888888;
  43. font-size: 12px;
  44. }
  45. </style>
  46. </head>
  47. <body>
  48. <h1>北方高温明日达鼎盛 京津冀多地地表温度将超60℃ </h1>
  49. <div class="gray">2019-07-03 16:31:47 来源: <a href="#">中国天气网 </a> 
  50. <input type="text" value="请输入查询条件" class="search"> <button class="btn">搜索 </button>
  51. </div>
  52. <hr>
  53. <p>中国天气网讯 今天(3日),华北、黄淮多地出现高温天气,截至下午2点,北京、天津、郑州等地气温突破35℃。预报显示,今后三天(3-5日),这一带的高温天气将继续发酵,高温范围以及强度将在4日达到鼎盛,预计北京、天津、石家庄、济南等地明天的最高气温有望突破38℃,其中北京和石家庄的最高气温还有望创今年以来的新高。 </p>
  54. <h4>气温41.4℃!地温66.5!北京强势迎七月首个高温日 </h4>
  55. <p class="pic">
  56. <img src="images/pic.jpeg" alt="中国气温图">
  57. </p>
  58. <p>今天,华北、黄淮一带的高温持续发酵,截至今天下午2点,陕西北部、山西西南部、河北南部、北京、天津、山东西部、河南北部最高气温已普遍超过35℃。大城市中,北京、天津、郑州均迎来高温日。 </p>
  59. <p>在阳光暴晒下,地表温度也逐渐走高。今天下午2点,华北黄淮大部地区的地表温度都在50℃以上,部分地区地表温度甚至超过60℃。其中,河北衡水地表温度高达68.3℃,天津站和北京站附近的地表温度分别高达66.6℃和66.5℃。 </p>
  60. <h4>明日热度再升级!京津冀携手冲击38℃+ </h4>
  61. <p>中国天气网气象分析师王伟跃介绍,明天(4日),华北、黄淮地区35℃以上的高温天气还将继续升级,并进入鼎盛阶段,高温强度和范围都将发展到最强。 明天,北京南部、天津大部、河北中部和南部、山东中部和西部、山西南部局地、河南北部、东北部分地区的最高气温都将达到或超过35℃。 </p>
  62. <p>不过,专家提醒,济南被雨水天气完美绕开,因此未来一周,当地的高温还会天天上岗。在此提醒当地居民注意防暑降温,防范持续高温带来的各种不利影响。(文/张慧 数据支持/王伟跃 胡啸 审核/刘文静 张方丽) </p>
  63. <p class="footer">本文来源:中国天气网 责任编辑:刘京_NO5631 </p>
  64. </body>
  65. </html>

chrome调试工具的使用

左边是HTML元素结构,右边是CSS样式

如果点击元素,发现右侧没有样式引入,极有可能是类名或者样式引入错误

如果有样式,但是样式前面有黄色叹号提示,则是样式属性书写错误

Ctrl+0复原浏览器大小


转载:https://blog.csdn.net/qq_47896523/article/details/128748167
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场