博客列表 >CSS基础知识和案例

CSS基础知识和案例

樊天龙的博客
樊天龙的博客原创
2020年04月06日 15:59:06879浏览

CSS基础知识和案例

线上演示地址:

http://www.fantianlong.com/php11/0405/homework1.html
http://www.fantianlong.com/php11/0405/homework2.html

1.CSS是什么

CSS中文全称层叠样式表,如果把HTML的功能比作搭建一个毛坯房,CSS的功能就是进行装修.

2.元素和元素框

页面中显示的内容称之为元素,而元素框outline则是元素外部的一个边框,相比于border是不同的,因为它不在盒子模型中.

根据元素框中的内容提供者,可以把元素分为两大类:

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

3.元素的显示方式

3.1元素类型

序号 类型 描述
1. 内联元素 不独占一行,宽高由内容决定,只有padding-leftpadding-right可以设置
2. 块级元素 独占一行,可以设置宽高,padding四个方向都可以设置
3. 行内块元素 结合了内联元素和块级元素的特点,可以简单的理解为行内块元素 = 内联元素 + 块级元素.多个行内块元素可以水平排列,不独占一行,可以设置宽高,padding四个方向都可以设置

3.2display属性

可以通过display属性在内联元素,块级元素,行内块元素之间进行转换.

4.CSS的引用方式

  • 外部样式表:通过<link rel="stylesheet" href="url">方式引入,这是开发中用的最多的一种,可以进行代码复用.
  • 导入:通过@import url方式导入,可以放到<style>标签中,也可以放到外部样式表中,也可以进行代码的复用.但需要注意的是通过这种方式引入CSS的方式必须放到第一行,要不可能会出错.
  • 内联样式:通过在起始标签中添加style属性,仅在当前页面生效.

5.CSS文档的内容

5.1样式规则

选择器 {属性:值...}

  • 选择器代表选择了那个元素,只有选择了这个元素,才可以对其进行样式设置
  • 属性代表了对选择的元素添加了哪种样式
  • 值代表了度量

5.2厂商前缀

厂商前缀一般是浏览器厂商发布新属性,此时属于实验阶段,不同的浏览器前缀不同,需要加上前缀才可以使用.随着时间的推移,各个浏览器厂商都已经使用适配,这时就不需要前缀了.

各个浏览器厂商前缀,见下图:

序号 前缀 描述
1. -weblit- 谷歌浏览器
2. -moz- 火狐浏览器
3. -ms- IE
4. -o- 欧朋浏览器

5.3处理空白

处理方式和HTML类似,这里不多赘述.

5.4CSS注释

  • 单行或多行注释:/*注释内容*/
  • 注释不允许嵌套

6.媒体查询

  • 媒体查询: 设置浏览器使用指定的样式表的媒体
  • 常用的媒体类型:all(所有媒体类型),screen(屏幕),print(打印机)
  • 多种媒体类型之间用逗号分隔:@media screen,print

6.1媒体描述符

  • 媒体类型通常会添加”媒体描述符”进行精准限制,例如设置媒体尺寸,分辨率等
  • 媒体描述符的语法与 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: 设备分辨率的最大宽度,通常用于移动端

7.案例

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  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.css"> -->
  7. <style>
  8. ul {
  9. width: 200px;
  10. border: 1px solid #cccccc;
  11. }
  12. a {
  13. color: #000000;
  14. }
  15. a:hover {
  16. color: #ff0000;
  17. }
  18. </style>
  19. <title>CSS引用和列表综合案例</title>
  20. </head>
  21. <body>
  22. <ul>
  23. <li><a href="">花园式酒店正式成立</a></li>
  24. <li><a href="">欧亚卖场店庆即将开始</a></li>
  25. <li><a href="">万达影城优惠季欢乐来</a></li>
  26. <li><a href="">新城吾悦广场盛大开业</a></li>
  27. <li><a href="">美食广场欢迎您的到来</a></li>
  28. </ul>
  29. </body>
  30. </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. <style>
  7. * {
  8. margin: 0;
  9. padding: 0;
  10. }
  11. .clearfix:after {
  12. content: "";
  13. display: block;
  14. clear: both;
  15. }
  16. body {
  17. font-size: 12px;
  18. }
  19. .wrap {
  20. width: 1000px;
  21. margin: 0 auto;
  22. }
  23. a {
  24. text-decoration: none;
  25. }
  26. header {
  27. height: 40px;
  28. line-height: 40px;
  29. background-color: rgb(68, 68, 68);
  30. }
  31. header p {
  32. float: right;
  33. color: rgb(168, 168, 170);
  34. }
  35. nav {
  36. position: relative;
  37. height: 44px;
  38. line-height: 44px;
  39. background-color: rgb(5, 5, 5);
  40. }
  41. nav>.wrap {
  42. height: 44px;
  43. }
  44. nav ul>li {
  45. width: 64px;
  46. height: 44px;
  47. line-height: 44px;
  48. padding: 0 20px;
  49. list-style: none;
  50. float: left;
  51. }
  52. nav a {
  53. color: #f5f5f7;
  54. }
  55. nav a:hover {
  56. color: #ffffff;
  57. }
  58. nav li img {
  59. margin: 12px 0;
  60. }
  61. /* menu */
  62. .menu {
  63. display: none;
  64. }
  65. @media screen and (max-width: 760px) {
  66. nav ul {
  67. background-color: #000000;
  68. position: absolute;
  69. top: 0;
  70. left: 0;
  71. text-align: center;
  72. }
  73. nav ul>li {
  74. clear: both;
  75. border-bottom: 1px solid #cccccc;
  76. }
  77. nav a {
  78. color: #f5f5f7;
  79. }
  80. .menu {
  81. display: inline-block;
  82. }
  83. .menu~li {
  84. display: none;
  85. }
  86. }
  87. </style>
  88. <title>媒体查询仿苹果官网导航栏</title>
  89. </head>
  90. <body>
  91. <div class="container">
  92. <header>
  93. <div class="wrap clearfix">
  94. <p>&lt;广告&gt;</p>
  95. </div>
  96. </header>
  97. <nav>
  98. <div class="wrap">
  99. <ul class="clearfix">
  100. <li class="menu"><a href="#"><img src="images/menu.png" alt="menu"></a></li>
  101. <li><a href="#"><img src="images/apple.png" width="20" height="20" alt="logo"></a></li>
  102. <li><a href="#">Mac</a></li>
  103. <li><a href="#">iPad</a></li>
  104. <li><a href="#">iPhone</a></li>
  105. <li><a href="#">Watch</a></li>
  106. <li><a href="#">Music</a></li>
  107. <li><a href="#">技术支持</a></li>
  108. <li><a href="#"><img src="images/search.png" alt="search"></a></li>
  109. <li><a href="#"><img src="images/bag.png" alt="bag"></a></li>
  110. </ul>
  111. </div>
  112. </nav>
  113. </div>
  114. </body>
  115. </html>

8.效果图

9.总结

  • 媒体查询是响应式布局的一种技术,随着移动端的流行,所以要学好这块知识
  • 仿苹果首页导航栏手机端有点问题,背景色不能完全显示
  • 目前的效果为视口宽度变为760px以下,导航栏能隐藏,但是显示不出来
  • 多做些案例加强这块的学习
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议