博客列表 >css基础与案例演示

css基础与案例演示

小程_武汉_214945
小程_武汉_214945原创
2020年04月14日 18:02:55682浏览

css 与元素

  • css :全称层叠样式表,用于影响一个或一组文档的表现样式
  • 元素:页面中显示的内容称为元素
  • 元素框:每一个元素存在于浏览器为它生成的元素框中

  • 元素根据元素框中的内容可以分为两类:
类型 内容 举例
置换元素 元素框内容由外部资源提供 <img> <input>...
非置换元素 元素框内容由用户提供,浏览器生成 <p> <h1> <span>...

  • 元素根据类型可以分为三种:
种类 特征 举例
行内元素 默认在一行文本内生成元素框,不打断所在行 <span> <a>
块级元素 默认生成一个填满父级内容区的元素框,且二侧不能有其它元素 <p> <div>
行内块元素 默认在一行文本内生成元素框,不打断所在行,但支持宽高 <img>

元素类型转换

  • 元素类型的转换方式:在元素标签中使用 display 属性,如<span style="display:block">

常用的 display 属性值

含义
block 块级元素
inline 行内元素
inline-block 行内块元素
list-item 列表元素(块级)
table 表格元素(块级)
flex 弹性元素
grid 网格元素

元素与元素类型转换代码示例

  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. <title>元素与转换</title>
  7. <style>
  8. * {
  9. outline: 1px dashed red;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <!-- 非置换元素是双标签 -->
  15. <p>p标签是一个非置换元素(双标签)</p>
  16. <!-- 置换元素单双标签都有 -->
  17. <a href="demo1.html">a标签是一个置换元素(双标签)</a>
  18. <img src="img/1.png" />
  19. <hr />
  20. <!-- 行内元素不能设置宽高,与其他元素共存于一行
  21. 块级元素和行内块元素能设置宽高,区别在于能否与其他元素共存一行 -->
  22. <h1>h1标签定义的是一个块元素</h1>
  23. <span>span定义的行内元素会跳转到下一行</span>
  24. <!-- img是一个行内块元素,可以设置宽高,与span共存于一行 -->
  25. <img src="img/2.jpg" style="width: 150px;" />
  26. <hr />
  27. <!-- 使用display属性转换元素类型 span转化为块级 p转化为行内块 -->
  28. <span style="display: block;">span转化为块级元素</span>
  29. <span>这是一个行内元素</span>
  30. <p style="display: inline-block; height: 100px;">p转化为行内块元素</p>
  31. </body>
  32. </html>

点击预览


css 在 html 文档中的使用方法

html 文档中导入 css 样式有四方法:
| 方法 | 使用 |
| —————————- | ——————————————————————- |
| import 导入外部样式 | @import 'demo.css'@import url(demo.css) |
| link 导入外部样式 | <link rel="stylesheet" href="demo.css"/>> |
| 内部样式 | 使用<style>...</style>定义的样式 |
| 内联样式 | 写在标签内部<tag style="xxx"> |

css 样式规则

  • css 的样式规则:selector {property: value;...}
选择器 使用方法
标签选择器 p{color:red; }
类选择器 .class{padding: 0;}
id 选择器 #id{border: 1px;}

css 样式规则与使用方法代码示例

  1. /* css1 */
  2. /* 导入外部样式 */
  3. @import "2.css";
  4. ul {
  5. border: 1px solid black;
  6. padding: 10px 25px 10px;
  7. background: #b9ffff;
  8. }
  9. ul > li {
  10. color: blueviolet;
  11. }
  1. /* css2 */
  2. h2 {
  3. color: #ff0000;
  4. }
  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. <title>css样式规则与使用方法</title>
  7. <!-- 外部样式 -->
  8. <link rel="stylesheet" href="css/1.css" />
  9. <!-- 内部样式 -->
  10. <style>
  11. ul :first-child {
  12. font-size: 1.5rem;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <h2>css样式规则与使用方法</h2>
  18. <ul>
  19. <!-- 使用内联样式 -->
  20. <li style="color: royalblue;">标签选择器 p{color:red; }</li>
  21. <li style="color: sandybrown;">类选择器 .class{padding: 0;}</li>
  22. <li style="color: springgreen;">id 选择器 #id{border: 1px;}</li>
  23. </ul>
  24. </body>
  25. </html>

点击预览


厂商前缀

  • 厂商前缀:各浏览器厂商用来测试专属规则的,具有实验性和先进性

  • 得到用户广泛认可的厂商前缀规则, 是有可能进入 W3C 标准的

  • 随着浏览器之间的差异逐渐消失, 厂商前缀最终会走向消亡

常用厂商前缀:

序号 前缀 描述
1 -moz- 基于Mozilla的浏览器,如FireFox(火狐)
2 -ms- 基于微软Internet Explorer的浏览器
3 -o- 基于Opera(欧朋)的浏览器
4 -webkit- 基于WebKit内核的浏览器,如Chrome,Safari
5 -epub- 基于国际数字出版论坛制定的格式

空白符

  • html 中的空白符
  • 与 html 文档类似, css 也支持使用空白符来格式化文档,增强可读性
  • css 中的多个空白符, 会全部合并成一个空白符显示
  • 空白符,可以由空格, 制表符, 换行符生成
  • 当属性值可有多个关键字时, 必须使用空白符分开

css 注释

  • 单行/多行: /* 注释内容 */
  • 注释可以写到样式规则外部,也可以写到内部
  • 注释不允许嵌套

媒体查询

  • 媒体查询: 设置浏览器使用指定的样式表的媒体

使用场景

序号 场景 描述
1 <link> <link media="screen,print">
1 <style> <style media="screen,print">
1 @import @import url(...) screen,print;
1 @media @media screen,print {...}

媒体类型

媒体类型是不同媒体的标识符

序号 类型 描述
1 all 所有媒体类型,即不限制
2 print 打印机,预打印预览使用
3 screen 屏幕,如浏览器等用户代理
4 projection 幻灯片

多种媒体类型之间使用逗号分隔: @media screen, print

媒体描述符

  • 媒体类型通常会添加”媒体描述符”进行精准限制,例如设置媒体尺寸,分辨率等
  • 媒体描述符的语法与 css 样式声明非常类似,如min-width: 500px
  • 与 css 声明的不同之处在于,媒体描述符允许没有值,如print and (color)
  • 多个 “媒体描述符” 之间使用 “逻辑关键字” 连接, 如 andnot
  • and表示多个”媒体描述符”必须同时满足, not则是整个查询取反,且必须写在and前面

常用 “媒体描述符”(显示区域相关)

序号 媒体描述符 描述
1 width 显示区域宽度
2 min-width 显示区域最小宽度
3 max-width 显示区域最大宽度
4 device-width 设备显示区域宽度
5 min-device-width 设备显示区域最小宽度
6 max-device-width 设备显示区域最大宽度
7 height 显示区域高度
8 min-height 显示区域最小高度
9 max-height 显示区域最大高度
10 device-height 设备显示区域高度
11 min-device-height 设备显示区域最小高度
12 max-device-height 设备显示区域最大高度

max-widthmax-device-width区别:

  • max-width: 浏览器显示区域宽度,与设备无关,通常用于 PC 端
  • max-device-width: 设备分辨率的最大宽度,通常用于移动端

媒体查询代码示例

  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. <title>媒体查询</title>
  7. <style>
  8. .nav {
  9. height: 50px;
  10. background-color: #eee;
  11. display: flex;
  12. align-items: center;
  13. }
  14. .nav ul {
  15. display: flex;
  16. list-style: none;
  17. }
  18. .nav ul a {
  19. color: #666;
  20. text-decoration: none;
  21. padding: 0 15px;
  22. }
  23. body {
  24. background-color: #ffff80;
  25. }
  26. @media screen and (max-width: 600px) and (min-width: 400px) {
  27. body {
  28. background-color: #59ffff;
  29. }
  30. }
  31. @media screen and (max-width: 400px) {
  32. .nav > ul {
  33. display: none;
  34. }
  35. }
  36. </style>
  37. </head>
  38. <body>
  39. <div class="nav">
  40. <div class="log">LOGO</div>
  41. <ul>
  42. <li>
  43. <a href="">首页</a>
  44. <a href="">视频</a>
  45. <a href="">问答</a>
  46. <a href="">下载</a>
  47. </li>
  48. </ul>
  49. </div>
  50. <h1>
  51. 这是一个媒体查询案例,在页面宽度为400px,600px时背景色发生变化,导航菜单在宽度小于400px时消失
  52. </h1>
  53. </body>
  54. </html>

点击预览

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议