博客列表 >css的认知和应用,媒体查询的体验

css的认知和应用,媒体查询的体验

昊天
昊天原创
2020年04月12日 21:17:52767浏览

css 与文档

1.css 是什么

序号 术语 描述
1 css Cascding Style Sheets 缩写(层叠样式表) 新的样式会覆盖旧的样式
2 样式 css 可以影响一个/一组‘文档’的表现样式
3 文档 包括但不限于 html,也包括 xml(暂时不讨论 xml)

2.元素和元素框

案例代码

  1. <!-- 非置换元素;双标签 -->
  2. <h1>大家好,我是一个小白</h1>
  3. <p>我来PHP中文网学习知识</p>
  4. <!-- 置换元素;不一定是单标签 -->
  5. <img src="1.jpg" alt="" />
  6. <link rel="stylesheet" href="style.css" />
  • 页面中所有显示的内容都叫元素,元素显示在浏览器给他生成的元素框中
  • 查看页面中所有元素框代码* {outline: 1px dashed red}
  • 元素共有 2 大类,如下表
序号 术语 描述
1 置换元素 元素框内容是引用的第三方资源(图片,文件,MP4,js,css 等
2 非置换元素 标签都是死的,内容用户提供

3 元素的显示方式

3.1 元素类型

序号 类型 描述 案例
1 块级元素 默认生成一个满父级内容区的元素框,并且他两侧不能有其他元素(独占一行)可以设置宽和高 <div>,<p>
2 行内元素 默认在一行文本内生成元素块,不打断所在行(从左往右方式排)不可以设置宽和高的 <a>,<span>,<h1>,<table>
3 行内块元素 置换元素,可以设置宽和高的 (也就是说他即是行内元素,他有可以设置宽和高 -

3.2 display 属性

  • 效果图
  • 每一个元素都可以通过style="display:typpe"控制它的显示类型,生成想要的元素框
序号 属性值 描述
1 inline默认 行内元素,<span>, <a>
2 block 块级元素,<div>,<p>
3 inline-block 行内块级元素,<img>
4 list-item 块级: 列表元素,<li>
5 table 块级: 表格元素,<table>
6 flex 弹性元素(块级变行内)
7 grid 网格元素 (垂直排列)

案例代码

  • 效果图
    1. <!-- 非置换元素;双标签 -->
    2. <h1>大家好,我是一个小白</h1>
    3. <p>我来PHP中文网学习知识</p>
    4. <!-- 置换元素;不一定是单标签 -->
    5. <img style="width: 200px; height: 100px; display: block;" src="2.jpg" alt="" />
    6. <input type="text" style="width: 40px;" />
    7. <a href="" style="width: 100px;">php.cn</a>
    8. <strong style="width: 60px;">php中文网</strong>

4. css 应用到 html 上

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

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

  • border 是属性名

案例演示

  • 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. <title>Document</title>
  7. <link rel="stylesheet" href="style/style2.css" />
  8. </head>
  9. <body>
  10. <h1>php中文网课程安排</h1>
  11. <ul>
  12. <li>WEB前端开发</li>
  13. <li>PHP 基础知识</li>
  14. <li>Laravel 基础知识</li>
  15. <li>大型项目实战开发</li>
  16. </ul>
  17. </body>
  18. </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. <title>Document</title>
  7. <!-- 内部样式表,仅在当前文档有效 -->
  8. <style>
  9. @import url(style/style1.css);
  10. h1 {
  11. background-color: aqua;
  12. color: #000000;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <h1>php中文网课程安排</h1>
  18. <ul>
  19. <li>WEB前端开发</li>
  20. <li>PHP 基础知识</li>
  21. <li>Laravel 基础知识</li>
  22. <li>大型项目实战开发</li>
  23. </ul>
  24. </body>
  25. </html>
  • 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. <title>Document</title>
  7. </head>
  8. <body>
  9. <h1>php中文网课程安排</h1>
  10. <ul>
  11. <li style="color: lightseagreen;">
  12. <strong style="color: lightgreen;">WEB前端开发</strong>html
  13. </li>
  14. <li><strong>PHP 基础知识</strong></li>
  15. <li><strong>Laravel 基础知识</strong></li>
  16. <li><strong>大型项目实战开发</strong></li>
  17. </ul>
  18. </body>
  19. </html
  • 说明效果图都一样就只展示了代码

5. css 文档的内容

5.1 样式规则

  • css 文档中必不可少的内容就是: 样式规则
  • css 语法:selector {property: value;...}
  • 每一个样式表用;间隔
组成 描述
selector 选择符,或者称”选择器”,决定文档中哪部分受到影响
{property: value;...} 声明块,由 “属性” 与 “属性值” 二部分组成

6. 媒体查询

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

6.1 使用场景

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

6.3 媒体类型

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

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

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

6.4 媒体描述符

  • 媒体类型通常会添加”媒体描述符”进行精准限制,例如设置媒体尺寸,分辨率等
  • 媒体描述符的语法与 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. img {
  24. width: 200px;
  25. height: 200px;
  26. }
  27. /* 局部媒体查询,当屏幕宽带小于400就不显示菜单 */
  28. @media screen and (max-width: 400px) {
  29. .nav ul {
  30. display: none;
  31. }
  32. img {
  33. width: 100px;
  34. height: 100px;
  35. }
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <div class="nav">
  41. <div class="log">logo</div>
  42. <ul>
  43. <li>
  44. <a href="">首页</a>
  45. <a href="">视频</a>
  46. <a href="">问答</a>
  47. <a href="">下载</a>
  48. </li>
  49. </ul>
  50. </div>
  51. <img src="2.jpg" alt="" />
  52. </body>
  53. </html>

总结

  • 就好比一个东西,给他包装一下子,让他看的美观好看
  • css 的注释是/* */
  • css 的基础教程
  • 媒体查询可以用来写自适应页面挺不错的
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
昊天2020-04-13 11:36:111楼
好的 谢谢老师