博客列表 >CSS与文档、实例

CSS与文档、实例

海阔天空
海阔天空原创
2020年04月06日 01:21:26776浏览

CSS 与文档

1.什么是 CSS

  • CSS 指层叠样式表 (Cascading Style Sheets)
  • 样式定义如何显示 HTML 元素
  • 多个样式定义可层叠为一

    样式表允许以多种方式规定样式信息。样式可以规定在单个的 HTML 元素中,在 HTML 页的头元素中,或在一个外部的 CSS 文件中。甚至可以在同一个 HTML 文档内部引用多个外部样式表。

2.优先级别

一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 1 拥有最高的优先权。

级别 样式
1 行内样式(在 HTML 元素内部)
2 内嵌样式表(位于 <head> 标签内部)
3 外部样式表
4 浏览器缺省设置

3.CSS 基础语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。
selector {declaration1; declaration2; … declarationN }

  • selector {property: value}
    下面这行代码的作用是将 h1 元素内的文字颜色定义为红色,同时将字体大小设置为 14 像素。h1 {color:red; font-size:14px;}
    在这个例子中,h1 是选择器,color 和 font-size 是属性,red 和 14px 是值。

  • 下面的示意图展示了上面这段代码的结构:

4.元素分类

根据元素框中的内容提供者, 可将元素分为二大类:

序号 术语 描述
1 置换元素 元素框内容由外部资源提供,元素框就是占位符<img>,<input>..
2 非置换元素 元素框内容用户提供,浏览器生成,如<p>,<span>

5. 元素的显示方式

5.1 元素类型

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

5.2 display 属性

display属性常用值

序号 属性值 描述
1 inline默认 行内元素,<span>, <a>
2 block 块级元素,<div>,<p>
3 inline-block 行内块级元素,<img>
4 list-item 块级: 列表元素,<li>
5 table 块级: 表格元素,<table>
6 flex 弹性元素
7 grid 网格元素

6. css 应用到 html 上

序号 方法 描述 备注
1 link标签 <link rel="stylesheet" href="style.css" /> 外部样式(head 内)
3 @import指令 @import url(style.css) @import 'style.css' 外部样式(外部样式表首行,或内嵌样式首行)
2 <style>元素 <style>...</style> 内嵌样式
4 style=""属性 <tag style="..."> 行内样式

外部 css 样式表文档,默认扩展名为: .css
外部样式表可以应用于多个页面中,如需进行全局的更新,只需改变外部样式表设置,网站中的相应元素均会自动地更新。

7. 媒体查询

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

7.1 使用场景

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

7.2 媒体类型

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

序号 类型 描述
1 all 所有媒体类型,即不限制
2 print 打印机,预打印预览使用
3 screen 屏幕,如浏览器等用户代理
4 projection 幻灯片
5 aural 用于语音和音频合成器
6 tv 用于电视机类型的设备
7 braille 用于盲人用点字法触觉回馈设备
8 embossed 用于分页的盲人用点字法打印机
9 handheld 用于小的手持的设备

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

7.3 媒体描述符

序号 媒体描述符 描述
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: 设备分辨率的最大宽度,通常用于移动端

8.元素分类例

效果图:

代码如下:

  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. body {
  9. width: 50%;
  10. margin: auto;
  11. }
  12. body,
  13. p,
  14. img,
  15. input,
  16. strong,
  17. a {
  18. outline: 1px dashed red;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <!-- 非置换元素:双标签 -->
  24. <p style="background-color: lightgreen;">欢迎参加PHP11期学习!</p>
  25. <!-- 置换元素: 单标签 , 双标签 -->
  26. <img src="1.jpg" alt="" width="150" />
  27. <input type="text" style="width: 50px;" />
  28. <a href="https://www.baidu.com" style="width: 50px;">百度</a>
  29. <strong style="width: 100px;">PHP中文网</strong>
  30. <!-- 行内元素,如果是非置换元素的话, 不能设置大小,
  31. 如果是置换元素,可以设置宽高, 对于这类元素,称之为行内块元素 -->
  32. </body>
  33. </html>

9.外部样式表例

效果图


HTML代码

  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>外部样式表例</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>

外部样式表代码

  1. /* 选择器: 选择页面元素; */ /* 元素选择器: */
  2. body {
  3. width: 40%;
  4. margin: auto;
  5. }
  6. ul {
  7. /* 这里写的是多条样式规则 */ /* 属性名:border, 值 */ /* border-width: 1px;
  8. border-style: solid; border-color: #ccc; */
  9. border: 1px solid #ccc;
  10. background-color: #efefef;
  11. padding: 15px 30px 15px 30px;
  12. } /* 选择符 +
  13. 样式声明块 */
  14. ul > li {
  15. margin: 10px;
  16. }
  17. h2 {
  18. text-align: center;
  19. }

10.导入外部样式表例

效果图


导入外部样式表代码

  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. <!-- 在html文档中如果添加其它内容,必须通过标签的方式加入 -->
  8. <!-- 内部样式表, 写在当前的html文档中, 仅在当前文档有效 -->
  9. <style>
  10. @import "style/style1.css";
  11. /* 将style1.css复制到这个位置 */
  12. h2 {
  13. color: green;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <h2>php中文网第11期上课啦</h2>
  19. <ul>
  20. <li>
  21. <strong style="color: coral;">前端基础</strong> : html5/css3/flex/grid
  22. </li>
  23. <li>
  24. <strong style="color: coral;">php开发</strong>: php+pdo+mvc+composer
  25. </li>
  26. <li>
  27. <strong style="color: coral;">前端进阶</strong>: javascript + jquery +
  28. layui
  29. </li>
  30. <li><strong style="color: violet;">Laravel </strong>:Laravel 实战</li>
  31. </ul>
  32. </body>
  33. </html>

11.媒体查询例

效果图


媒体查询代码

  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. .nav {
  9. height: 50px;
  10. background-color: #eee;
  11. display: flex;
  12. /* align-items: center; */
  13. }
  14. .nav .log {
  15. line-height: 50px;
  16. }
  17. .nav ul {
  18. display: flex;
  19. list-style-type: none;
  20. }
  21. .nav ul a {
  22. color: #666;
  23. text-decoration: none;
  24. margin: 0 15px;
  25. }
  26. .nav ul li {
  27. height: 22px;
  28. transition: all 0.5s;
  29. }
  30. .nav ul li:hover {
  31. border-bottom: 2px solid #52a3a3;
  32. transform: translateY(-3px);
  33. }
  34. /* 局部媒体查询,当屏幕宽度小于400px,不要显示菜单了 */
  35. @media screen and (max-width: 400px) {
  36. .nav ul {
  37. display: none;
  38. }
  39. }
  40. </style>
  41. </head>
  42. <body>
  43. <div class="nav">
  44. <div class="log">LOGO</div>
  45. <ul>
  46. <li><a href="">首页</a></li>
  47. <li><a href="">视频</a></li>
  48. <li><a href="">问答</a></li>
  49. <li><a href="">下载</a></li>
  50. </ul>
  51. </div>
  52. </body>
  53. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议