Blogger Information
Blog 10
fans 0
comment 0
visits 9158
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
HTML:CSS相关知识点(重点 display属性,css在html应用,媒体查询) (0405)
ALWAYS
Original
761 people have browsed it

CSS 与文档

1. css 是什么

序号 术语 描述
1 css Cascading Style Sheets缩写(层叠样式表)
2 样式 css 可以影响一个或一组”文档”的表现样式
3 文档 包括但不限于 html,也包括 xml(暂不讨论)

2. 元素与元素框

  • 页面中显示的内容称为元素, 元素显示在浏览器为它生成的元素框
  • 查看页面中所有元素生成的”框”: * {outline: 1px dashed red}
  • 根据元素框中的内容提供者, 可将元素分为二大类:
序号 术语 描述
1 置换元素 元素框内容由外部资源提供,元素框就是占位符<img>,<input>..
2 非置换元素 元素框内容用户提供,浏览器生成,如<p>,<span>

3. 元素的显示方式

3.1 元素类型

序号 类型 描述
1 块级元素 默认生成一个填满父级内容区的元素框,且两侧不能有其它元素,如<div>,<p>
2 行内元素 默认在一行文本内生成元素框,不打断所在行,如<a>,<span>
3 行内块元素 默认在一行文本内生成元素框,不打断所在行,但支持宽高,如<img>

浏览器根据元素类型生成不同的元素框: “块级元素框” 和 “行内元素框”

3.1.1 示例

  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>Document</title>
  7. <style>
  8. * {
  9. outline: solid 1px red;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <!-- 非置换元素 -->
  15. <p style="background-color: lightblue;">hello world!</p>
  16. <!-- 置换元素 单标签 双标签 -->
  17. <img src="1.jpg" width="100" height="80" alt="" />
  18. <input type="text" style="width: 50px;" />
  19. <a href="" style="width: 50px;" ;>PHP.CN </a>
  20. <strong style="width: 100px;" ;>PHP 中文网</strong>
  21. <!-- 行内元素,非置换元素不能设置宽高,置换元素可以设置宽高 -->
  22. </body>
  23. </html>

3.2 display 属性

  • 每个元素都可以通过style="display:type控制它的显示类型,即生成什么样的”元素框”
  • display属性常用值
序号 属性值 描述
1 inline默认 行内元素,<span>, <a>
2 block 块级元素,<div>,<p>
3 inline-block 行内块级元素,<img>
4 list-item 块级: 列表元素,<li>
5 table 块级: 表格元素,<table>
6 flex 弹性元素
7 grid 网格元素

示例:

  1. img {
  2. display: block;
  3. }

4. css 应用到 html 上

序号 属性值 描述 备注
1 link标签 <link rel="stylesheet" href="..." /> 外部样式
3 @import指令 `@import url(…) @import ‘…’` 外部样式
2 <style>元素 <style>...</style> 内部样式
4 style=""属性 <tag style="..."> 行内样式

外部 css 样式表文档,默认扩展名为: .css


示例

  • 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. <link rel="stylesheet" href="style/style2.css" />
    7. <title>Document</title>
    8. </head>
    9. <body>
    10. <h2>php中文网第11期上课啦</h2>
    11. <ul>
    12. <li>前端基础: html5/css3/flex/grid</li>
    13. <li>php开发: php+pdo+mvc+composer</li>
    14. <li>前端进阶: javascript + jquery + layui</li>
    15. <li>Laravel: 实战</li>
    16. </ul>
    17. </body>
    18. </html>

    ```html
    <!DOCTYPE html>

    <html lang="en">
    <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="style/style2.css" />
    </head>
    <body>
    <body>
    <h2>我的购物车</h2>
    <ul>
    <li>水果</li>
    <li>衣服</li>
    </ul>
    </body>
    </body>
    </html>

  1. - 表内样式
  1. <style>
  2. @import "style/style1.css";
  3. /* 将style1.css复制到这个位置 */
  4. h2 {
  5. color: green;
  6. }
  7. </style>html
  1. ## 5. css 文档的内容
  2. ### 5.1 样式规则
  3. - css 文档中必不可少的内容就是: 样式规则
  4. - css 语法:`selector {property: value;...}`
  5. | 组成 | 描述 |
  6. | ----------------------- | ---------------------------------------------- |
  7. | `selector` | 选择符,或者称"选择器",决定文档中哪部分受到影响 |
  8. | `{property: value;...}` | 声明块,由 "属性" "属性值" 二部分组成 |
  9. ### 5.2 厂商前缀
  10. - 厂商前缀: 各浏览器厂商用来测试专属规则的,具有实验性和先进性
  11. - 得到用户广泛认可的厂商前缀规则, 是有可能进入 W3C 标准的
  12. - 随着浏览器之间的差异逐渐消失, 厂商前缀最终会走向消亡
  13. 常用厂商前缀:
  14. | 序号 | 前缀 | 描述 |
  15. | ---- | ---------- | -------------------------------------------- |
  16. | 1 | `-moz-` | 基于`Mozilla`的浏览器,如`FireFox`(火狐) |
  17. | 2 | `-ms-` | 基于微软`Internet Explorer`的浏览器 |
  18. | 3 | `-o-` | 基于`Opera`(欧朋)的浏览器 |
  19. | 4 | `-webkit-` | 基于`WebKit`内核的浏览器,如`Chrome`,`Safari` |
  20. | 5 | `-epub-` | 基于国际数字出版论坛制定的格式
  21. ### 5.3 处理空白
  22. - html 文档类似, css 也支持使用空白符来格式化文档,增强可读性
  23. - css 中的多个空白符, 会全部合并成一个空白符显示
  24. - 空白符,可以由空格, 制表符, 换行符生成
  25. - 当属性值可有多个关键字时, 必须使用空白符分开
  26. ### 5.4 css 注释
  27. - 单行/多行: `/* 注释内容 */`
  28. - 注释可以写到样式规则外部,也可以写到内部
  29. - 注释不允许嵌套
  30. ---
  31. ## 6. 媒体查询
  32. - 媒体查询: 设置浏览器使用指定的样式表的媒体
  33. ### 6.1 使用场景
  34. | 序号 | 场景 | 描述 |
  35. | ---- | --------- | -------------------------------- |
  36. | 1 | `<link>` | `<link media="screen,print">` |
  37. | 1 | `<style>` | `<style media="screen,print">` |
  38. | 1 | `@import` | `@import url(...) screen,print;` |
  39. | 1 | `@media` | `@media screen,print {...}` |
  40. ### 6.3 媒体类型
  41. 媒体类型是不同媒体的标识符
  42. | 序号 | 类型 | 描述 |
  43. | ---- | ------------ | ----------------------- |
  44. | 1 | `all` | 所有媒体类型,即不限制 |
  45. | 2 | `print` | 打印机,预打印预览使用 |
  46. | 3 | `screen` | 屏幕,如浏览器等用户代理 |
  47. | 4 | `projection` | 幻灯片 |
  48. > 多种媒体类型之间使用逗号分隔: `@media screen, print`
  49. ### 6.4 媒体描述符
  50. - 媒体类型通常会添加"媒体描述符"进行精准限制,例如设置媒体尺寸,分辨率等
  51. - 媒体描述符的语法与 css 样式声明非常类似,如`min-width: 500px`
  52. - css 声明的不同之处在于,媒体描述符允许没有值,如`print and (color)`
  53. - 多个 "媒体描述符" 之间使用 "逻辑关键字" 连接, `and` `not`
  54. - `and`表示多个"媒体描述符"必须同时满足, `not`则是整个查询取反,且必须写在`and`前面
  55. 常用 "媒体描述符"(显示区域相关)
  56. | 序号 | 媒体描述符 | 描述 |
  57. | ---- | ------------------- | -------------------- |
  58. | 1 | `width` | 显示区域宽度 |
  59. | 2 | `min-width` | 显示区域最小宽度 |
  60. | 3 | `max-width` | 显示区域最大宽度 |
  61. | 4 | `device-width` | 设备显示区域宽度 |
  62. | 5 | `min-device-width` | 设备显示区域最小宽度 |
  63. | 6 | `max-device-width` | 设备显示区域最大宽度 |
  64. | 7 | `height` | 显示区域高度 |
  65. | 8 | `min-height` | 显示区域最小高度 |
  66. | 9 | `max-height` | 显示区域最大高度 |
  67. | 10 | `device-height` | 设备显示区域高度 |
  68. | 11 | `min-device-height` | 设备显示区域最小高度 |
  69. | 12 | `max-device-height` | 设备显示区域最大高度 |
  70. `max-width``max-device-width`区别:
  71. - `max-width`: 浏览器显示区域宽度,与设备无关,通常用于 PC
  72. - `max-device-width`: 设备分辨率的最大宽度,通常用于移动端
  73. - 示例1
  74. ![](https://img.php.cn/upload/image/208/928/170/1586143868110722.png)
  75. ![](https://img.php.cn/upload/image/970/408/857/1586143878426796.png)
  76. ```html
  77. <!DOCTYPE html>
  78. <html lang="en">
  79. <head>
  80. <meta charset="UTF-8" />
  81. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  82. <title>Document</title>
  83. <style>
  84. H1 {
  85. background-color: lightblue;
  86. }
  87. /*宽度小于400的时候,背景颜色变成红色*/
  88. @media screen and (max-width: 400px) {
  89. H1 {
  90. background-color: red;
  91. }
  92. }
  93. </style>
  94. </head>
  95. <body>
  96. <h1>大家好,我在学习PHP.</h1>
  97. </body>
  98. </html>
  • 示例2


    ```html
    <!DOCTYPE html>

    <html lang="en">
    <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>媒体查询</title>
    <style>
    .nav {
    height: 50px;
    background-color: #eee;
    display: flex;
    align-items: center;
    }
    .nav ul {
    display: flex;
    list-style: none;
    }
    .nav ul a {
    color: #666;
    text-decoration: none;
    padding: 0 15px;
    }
    / 当屏幕宽度小于400px时,列表消失 /
    @media screen and (max-width: 400px) {
    .nav ul {
    display: none;
    }
    }
    </style>
    </head>
    <body>
    <div class="nav">
    <div class="log">LOGO</div>
    <ul>
    <li>
    <a href="">首页</a>
    <a href="">视频</a>
    <a href="">问答</a>
    <a href="">下载</a>
    </li>
    </ul>
    </div>
    </body>
    </html>

```

总结:
1.CSS是层叠样式表,html是写网页结构,css是对网页元素进行描述的。
2.所有的元素都在框里,元素可分为置换元素和非置换元素,置换元素一般为引用的,通过一个属性导入的,如图片、链接等(置换元素的标签有单标签有双标签),非置换元素是开发者自己写进去的(一般为双标签)(如下图)

3.行内元素有两种,一种不能设置宽高(例如文本),一种可以设置宽高,这种一般是置换元素,这种叫行内块元素。
块级元素是可以设置宽和高的。
4.所有的元素都有默认属性,默认属性都是行内元素,但是display属性可以修改。display 属性可以在检查里面 style内查看,如果没有可以在computed内查看计算属性设置方法:style="display:block"

5.行内块元素=inline+block。
6.css应用到html有四种方式:link(rel 引用属性,href 引用路径)可以复用到多个文件中、@import、<style>内部样式和行内样式。选择器可以使用页面元素,@import必须要写在第一行。@import url(style.css)==@import; “style.css”;
7.厂商前缀:火狐moz,微软 ms,内核浏览器 chRome,safari。epub基于数字出版论坛制定的格式。
8.注释快捷键ctrl+/
9.媒体查询
默认 @media all.
@media screen 可以设置在屏幕宽度符合一定条件时,改变屏幕显示样式。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:很棒
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post