当前位置:   article > 正文

前端---CSS篇(详解CSS)_css csdn

css csdn

1.CSS简介

CSS(Cascading Style Sheets)层叠样式表,是用来为结构化文档(HTML、XML等应用)添加样式,比如字体、颜色、大小、间距的计算机语言。CSS目前已经发展到了CSS3.0了。

2.CSS导入方式

CSS有三种导入方式:

1.行内样式:直接在标签元素中编写style属性,在其中编写样式即可:

      <p style="color: paleturquoise">你好,这是CSS</p>

2.内部样式:在头部head标签中,我们写上<style>标签,然后就可以在其中写入CSS样式了:

  1. <style>
  2. p{
  3. color: paleturquoise;
  4. font-size: 20px;
  5. }
  6. </style>

3.外部样式:外部样式就是新建一个.css文件,在其中编写css样式然后引入html文件之中,引入方式有两种:

连接式:

<link type="text/css" rel="stylesheet" href="first.css">

导入式:

  1. <style>
  2. @import url("first.css");
  3. </style>

3.选择器

可以选择页面中的某一个或者某一类元素,然后设置它们的样式:

3.1. 基本选择器

1.标签选择器:选择一类标签:标签{xxx样式},比如:

  1. /*标签选择器*/
  2. h1{
  3. color: pink;
  4. background-color: #eeeeee;
  5. font-family: 楷体;
  6. }
  7. p{
  8. color: pink;
  9. background-color: #eeeeee;
  10. font-family: 楷体;
  11. }

2.类选择器:可以选择class一致的标签,在class名前面加上一个小点 .className {xxx样式}

  1. /*类选择器*/
  2. .font1{
  3. color: pink;
  4. background-color: #eeeeee;
  5. font-family: 楷体;
  6. }
  7. .font2{
  8. color: pink;
  9. background-color: #eeeeee;
  10. font-family: 楷体;
  11. }

3.Id选择器:这是全局唯一的样式,指定某个id,设置样式,在id名字前加上井号,如:#idName{xxx样式}

  1. /*Id选择器*/
  2. #demo1{
  3. color: pink;
  4. background-color: #eeeeee;
  5. font-family: 楷体;
  6. }
  7. #demo2{
  8. color: pink;
  9. background-color: #eeeeee;
  10. font-family: 楷体;
  11. }

优先级对比:

前面三个的优先级对比:id > class > 标签

3.2.层次选择器:

1.后代选择器:选中某个元素内的元素

  1. /*后代选择器*/
  2. body p{
  3. background-color: pink;
  4. }

2.子选择器:只选择一代

  1. /*后代选择器*/
  2. body>p{
  3. background-color: pink;
  4. }

3. 同辈选择器:选择相邻的兄弟选择器

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. .d1+.d2{
  8. background-color: #aaaaaa;
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <div class="d1">你好</div>
  14. <div class="d2">hello</div>
  15. </body>
  16. </html>

4.通用选择器:选择这个元素向下的所有同辈元素

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. .d1~div{
  8. background-color: #aaaaaa;
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <div class="d1">你好</div>
  14. <div class="d2">hello</div>
  15. <div class="d3">oook</div>
  16. </body>
  17. </html>

3.3. 结构伪类选择器

(上图引用至:CSS结构伪类选择器-CSDN博客

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <!--避免使用,class,id选择器-->
  7. <style>
  8. /*ul的第一个子元素*/
  9. ul li:first-child{
  10. background: firebrick;
  11. }
  12. /*ul的最后一个子元素*/
  13. ul li:last-child{
  14. background: darkcyan;
  15. }
  16. /*选中p1:定位到父元素,选择当前的第一个元素
  17. 选择当前p元素的父级元素,选中父级元素的第一个子元素为p的
  18. 按顺序
  19. */
  20. p:nth-child(2){
  21. background: salmon;
  22. }
  23. /*选中父元素下的p元素的第二个,按类型*/
  24. p:nth-of-type(1){
  25. background: gold;
  26. }
  27. p:nth-child(3){
  28. background-color: whitesmoke;
  29. }
  30. a:hover{
  31. background: violet;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <!--<h1>h1</h1>-->
  37. <p>p1</p>
  38. <p>p2</p>
  39. <p>p3</p>
  40. <ul>
  41. <li>li1</li>
  42. <li>li2</li>
  43. <li>li3</li>
  44. </ul>
  45. <a href="">链接标签</a>
  46. </body>
  47. </html>

4.CSS样式

css能够设计出多种多样的样式,现在我们详细的介绍这些样式。

4.1. 背景:

CSS可以定义的背景效果:

  • background-color  背景颜色。
  • background-image  背景图片。
  • background-repeat  背景图像是否重复。
  • background-attachment  背景图像是否固定或者随着页面的其余部分滚动。
  • background-position  设置背景图像的起始位置。
  • background   属性简写,包含上面的几种写法。
  1. .div1 {
  2. width: 600px;
  3. height: 208px;
  4. background-image: url("../20231115/button.png");
  5. background-repeat: no-repeat;
  6. background-size: cover;
  7. }
4.2. 文本

文本的属性:

属性描述
color设置文字颜色
direction文本方向
letter-spacing字符间距
line-height行高
text-align对齐方式
text-decoration设置划线的位置
text-indent缩进
text-shadow设置文本阴影
text-transform控制元素中的字母
vertical-align垂直对齐
white-space设置元素中空白的处理方式
word-spacing设置字间距

写个代码试一试:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. p{
  8. color: rebeccapurple;
  9. direction: initial;
  10. letter-spacing: 10px;
  11. line-height: 20px;
  12. text-decoration: line-through;
  13. text-shadow: darkolivegreen;
  14. word-spacing: 50px;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <p>hello world</p>
  20. </body>
  21. </html>
4.3. 字体

CSS提供了多种属性修改字体的样式:

属性描述
font-family文本的字体系列
font-size字体大小
font- style字体样式
font-variant以小型大型显示文本
font-weight字体粗细
4.4. 链接

CSS可以修改连接的状态样式:

  • a:link - 正常,未访问过的链接
  • a:visited - 用户已访问过的链接
  • a:hover - 当用户鼠标放在链接上时
  • a:active - 链接被点击的那一刻
4.5. 显示状态

CSS中可以使用display和visibility来设置元素的显示与隐藏

visibility:hidden:可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

display:none:可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

display中的inline和block分别会把元素设置为内联元素和块元素。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. .hidden {
  8. visibility: hidden;
  9. }
  10. .none {
  11. display: none;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <p>hello world</p>
  17. <p class="none">hello world</p>
  18. <p>hello world</p>
  19. <p class="hidden">hello world</p>
  20. <p>hello world</p>
  21. </body>
  22. </html>

4.6. 定位 Position

CSS定位Position拥有五个值:static、relative、fixed、absolute、sticky

详细介绍见代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>定位</title>
  6. </head>
  7. <style>
  8. .sta{ /*静态定位---默认 静态定位的元素不会受到 top, bottom, left, right影响。*/
  9. position: static;
  10. border: 2px solid red;
  11. }
  12. .fix{ /*固定位置 元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动:*/
  13. position: fixed;
  14. top: 30px;
  15. left: 50px;
  16. }
  17. .rel{ /* 相对定位 相对定位元素的定位是相对其正常位置*/
  18. position: relative;
  19. left: -30px;
  20. }
  21. .abs{ /* 绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>: */
  22. position: absolute;
  23. left: 100px;
  24. top: 100px;
  25. z-index: -1;
  26. }
  27. .sti{ /* 粘性定位 元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。*/
  28. position: -webkit-sticky;
  29. width: 300px;
  30. height: 50px;
  31. background-color: whitesmoke;
  32. position: sticky;
  33. top: 0;
  34. }
  35. </style>
  36. <body>
  37. <p class="sta">静态定位</p>
  38. <p class="rel">相对定位</p>
  39. <p class="fix">页面固定位置</p>
  40. <p class="abs">绝对位置</p>
  41. <div class="sti"></div>
  42. <p>666666666666666666666666</p>
  43. <p>777777777777777777777777</p>
  44. <p>777777777777777777777777</p>
  45. <p>777777777777777777777777</p>
  46. <p>777777777777777777777777</p>
  47. <p>777777777777777777777777</p>
  48. <p>777777777777777777777777</p>
  49. <p>777777777777777777777777</p>
  50. <p>777777777777777777777777</p>
  51. <p>777777777777777777777777</p>
  52. <p>777777777777777777777777</p>
  53. <p>777777777777777777777777</p>
  54. <p>777777777777777777777777</p>
  55. <p>777777777777777777777777</p>
  56. <p>777777777777777777777777</p>
  57. <p>777777777777777777777777</p>
  58. <p>777777777777777777777777</p>
  59. <p>777777777777777777777777</p>
  60. <p>777777777777777777777777</p>
  61. <p>777777777777777777777777</p>
  62. <p>777777777777777777777777</p>
  63. <p>777777777777777777777777</p>
  64. <p>777777777777777777777777</p>
  65. <p>777777777777777777777777</p>
  66. <p>777777777777777777777777</p>
  67. <p>777777777777777777777777</p>
  68. <p>777777777777777777777777</p>
  69. <p>777777777777777777777777</p>
  70. <p>777777777777777777777777</p>
  71. <p>777777777777777777777777</p>
  72. <p>777777777777777777777777</p>
  73. <p>777777777777777777777777</p>
  74. <p>777777777777777777777777</p>
  75. <p>777777777777777777777777</p>
  76. </body>
  77. </html>
4.7.布局--Overflow
描述
visible默认值。内容不会被修剪,会呈现在元素框之外。
hidden内容会被修剪,并且其余内容是不可见的。
scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit规定应该从父元素继承 overflow 属性的值。

代码展示了这几种情况:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. .all{
  8. display: flex;
  9. flex-direction: row;
  10. }
  11. #visible {
  12. background: #4CAF50;
  13. color: black;
  14. padding: 15px;
  15. width: 100px;
  16. height: 100px;
  17. overflow: visible;
  18. border: 1px solid #ccc;
  19. }
  20. #hidden{
  21. background: #4CAF50;
  22. color: black;
  23. padding: 15px;
  24. width: 100px;
  25. height: 100px;
  26. overflow: hidden;
  27. border: 1px solid #ccc;
  28. }
  29. #scroll {
  30. background: #4CAF50;
  31. color: black;
  32. padding: 15px;
  33. width: 100px;
  34. height: 100px;
  35. overflow: scroll;
  36. border: 1px solid #ccc;
  37. }
  38. #auto {
  39. background: #4CAF50;
  40. color: black;
  41. padding: 15px;
  42. width: 100px;
  43. height: 100px;
  44. overflow: auto;
  45. border: 1px solid #ccc;
  46. }
  47. </style>
  48. </head>
  49. <body>
  50. <div class="all">
  51. <div id="visible">
  52. <p>第一种: visible</p>
  53. <p>visible</p>
  54. <p>visible</p>
  55. <p>visible</p>
  56. <p>visible</p>
  57. <p>visible</p>
  58. <p>visible</p>
  59. <p>visible</p>
  60. <p>visible</p>
  61. <p>visible</p>
  62. </div>
  63. <div id="hidden">
  64. <p>第二种: hidden</p>
  65. <p>hidden</p>
  66. <p>hidden</p>
  67. <p>hidden</p>
  68. <p>hidden</p>
  69. <p>hidden</p>
  70. <p>hidden</p>
  71. <p>hidden</p>
  72. <p>hidden</p>
  73. </div>
  74. <div id="scroll">
  75. <p>第三种:scroll</p>
  76. <p>scroll</p>
  77. <p>scroll</p>
  78. <p>scroll</p>
  79. <p>scroll</p>
  80. <p>scroll</p>
  81. <p>scroll</p>
  82. <p>scroll</p>
  83. <p>scroll</p>
  84. </div>
  85. <div id="auto">
  86. <p>第四种:auto</p>
  87. <p>auto</p>
  88. <p>auto</p>
  89. <p>auto</p>
  90. <p>auto</p>
  91. <p>auto</p>
  92. <p>auto</p>
  93. <p>auto</p>
  94. <p>auto</p>
  95. </div>
  96. </div>
  97. </body>
  98. </html>

如图所示,会溢出来。

4.8. 浮动 --- Float
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. .image{
  8. float: left;
  9. width: 300px;
  10. height: 300px;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h2>图片库</h2>
  16. <p>调整串口试一试</p>
  17. <div>
  18. <img src="dog.jpg" class="image">
  19. <img src="dog.jpg" class="image">
  20. <img src="dog.jpg" class="image">
  21. <img src="dog.jpg" class="image">
  22. <img src="dog.jpg" class="image">
  23. <img src="dog.jpg" class="image">
  24. <img src="dog.jpg" class="image">
  25. <img src="dog.jpg" class="image">
  26. <img src="dog.jpg" class="image">
  27. <img src="dog.jpg" class="image">
  28. </div>
  29. </body>
  30. </html>

4.9. 居中方式

手打了一遍代码,详细的介绍了多种方式,也写清注释了。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>居中方式</title>
  6. <style>
  7. *{
  8. margin: 0;
  9. padding: 0;
  10. }
  11. h4{
  12. margin: 10px 0 10px 0;
  13. }
  14. .all{
  15. width: auto;
  16. height: 100vh;
  17. background-color: whitesmoke;
  18. display: flex;
  19. flex-direction: row;
  20. justify-content: space-around;
  21. }
  22. .shuiping, .chuizhi, .shuipingcuizhi{
  23. height: 100%;
  24. width: 30%;
  25. }
  26. .content{
  27. width: 300px;
  28. height: 100px;
  29. background-color: salmon;
  30. border: 1px solid black;
  31. }
  32. .item{
  33. background-color: #4CAF50;
  34. width: 100px;
  35. height: 100px;
  36. }
  37. /* ===============1===============*/
  38. /* 使用 margin:auto 实现居中 */
  39. .margin-center{
  40. margin: auto;
  41. }
  42. /* ===============2=============== */
  43. .content2{
  44. text-align: center;
  45. /* 这里的text-align:center子元素会继承该属性 */
  46. /* 我们的目的是将元素居中而不是文本居中 */
  47. }
  48. .block-center{
  49. display: inline-block;
  50. }
  51. /* ================3================ */
  52. .content3{
  53. position: relative;
  54. }
  55. .absolute-center{
  56. position: absolute;
  57. left: 50%;
  58. transform: translateX(-50%);
  59. }
  60. /* ==================4=================== */
  61. .content4{
  62. display: flex;
  63. justify-content: center;
  64. }
  65. /* ======================垂直居中=======================*/
  66. .Ccontent{
  67. width: 300px;
  68. height: 100px;
  69. background-color: olive;
  70. border: 1px solid black;
  71. }
  72. .item2{
  73. width: 300px;
  74. height: 30px;
  75. background-color: gold;
  76. }
  77. /* ========== 1 =========*/
  78. .Ccontent1{
  79. display: table-cell;
  80. vertical-align: middle;
  81. }
  82. /* =============2=================*/
  83. .Ccontent2{
  84. line-height: 100px;
  85. }
  86. .vertical-center{
  87. display: inline-block;
  88. vertical-align: middle;
  89. }
  90. /* ==========3===================*/
  91. .Ccontent3{
  92. display: flex;
  93. align-items: center;
  94. }
  95. /* =========4================= */
  96. .Ccontent4{
  97. position: relative;
  98. }
  99. .abs-center{
  100. position: absolute;
  101. top: 50%;
  102. transform: translateY(-50%);
  103. }
  104. /* ==============================水平垂直居中====================*/
  105. .SCcontent{
  106. background-color: paleturquoise;
  107. width: 100px;
  108. height: 100px;
  109. }
  110. .item3{
  111. background-color: lightgoldenrodyellow;
  112. width: 50px;
  113. height: 50px;
  114. }
  115. /* ===================1 =================*/
  116. .SCcontent1{
  117. position: relative;
  118. }
  119. .abso-center{
  120. position: absolute;
  121. top: 50%;
  122. left: 50%;
  123. transform: translate(-50% , -50%);
  124. }
  125. /* ====================2==================*/
  126. .SCcontent2{
  127. display: flex;
  128. justify-content: center;
  129. align-items: center;
  130. }
  131. /*================ 3 ========================*/
  132. .SCcontent3{
  133. text-align: center;
  134. line-height: 100px;
  135. }
  136. .SCitem3{
  137. display: inline-block;
  138. vertical-align: middle;
  139. }
  140. /* ===================== 4 =========================*/
  141. .SCcontent4{
  142. display: table-cell;
  143. text-align: center;
  144. vertical-align: middle;
  145. }
  146. .SCitem4{
  147. display: inline-block;
  148. }
  149. </style>
  150. </head>
  151. <body>
  152. <div class="all">
  153. <div class="shuiping">
  154. <h3>水平居中方式:</h3>
  155. <h4>第一种方式: margin:auto</h4>
  156. <div class="content">
  157. <div class="margin-center item"></div>
  158. </div>
  159. <h4>第二种方式: 使用inline-block 和 text-align实现 </h4>
  160. <div class="content content2">
  161. <div class="item block-center"></div>
  162. </div>
  163. <h4>第三种方式: 使用绝对定位 实现 </h4>
  164. <div class="content content3">
  165. <div class="item absolute-center"></div>
  166. </div>
  167. <h4>第四种方式: 使用flex布局 实现 </h4>
  168. <div class="content content4">
  169. <div class="item"></div>
  170. </div>
  171. </div>
  172. <div class="chuizhi">
  173. <h3>垂直居中方式:</h3>
  174. <h4>第一种方式:使用display:table-cell来实现</h4>
  175. <div class="Ccontent Ccontent1">
  176. <div class="item2"></div>
  177. </div>
  178. <h4>第二种方式:使用line-height、 inline-block 来实现</h4>
  179. <div class="Ccontent Ccontent2">
  180. <div class="item2 vertical-center"></div>
  181. </div>
  182. <h4>第三种方式:使用flex布局 来实现</h4>
  183. <div class="Ccontent Ccontent3">
  184. <div class="item2"></div>
  185. </div>
  186. <h4>第四种方式:使用 绝对定位 来实现</h4>
  187. <div class="Ccontent Ccontent4">
  188. <div class="item2 abs-center"></div>
  189. </div>
  190. </div>
  191. <div class="shuipingcuizhi">
  192. <h3>水平 + 垂直居中方式:</h3>
  193. <h4>第一种方式:使用absolute绝对定位 来实现</h4>
  194. <div class="SCcontent SCcontent1 ">
  195. <div class="item3 abso-center"></div>
  196. </div>
  197. <h4>第二种方式:使用flex布局来实现</h4>
  198. <div class="SCcontent SCcontent2 ">
  199. <div class="item3"></div>
  200. </div>
  201. <h4>第三种方式:用inline-block.text-align和vertical-align来实现</h4>
  202. <div class="SCcontent SCcontent3 ">
  203. <div class="item3 SCitem3"></div>
  204. </div>
  205. <h4>第四种方式:table-cell+display: inline-block来实现</h4>
  206. <div class="SCcontent SCcontent4 ">
  207. <div class="item3 SCitem4"></div>
  208. </div>
  209. </div>
  210. </div>
  211. </body>
  212. </html>

4.10.提示框

实现一个提示框,练练手

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <style>
  8. .main{
  9. position: relative;
  10. display: inline-block;
  11. }
  12. .main:hover .jian{
  13. visibility: visible;
  14. }
  15. .jian{
  16. color: white;
  17. text-align: center;
  18. visibility: hidden;
  19. top: -5px;
  20. left: 120%;
  21. padding-top: 5px;
  22. background-color: black;
  23. border-radius: 6px;
  24. width: 200px;
  25. height: 30px;
  26. position: absolute;
  27. }
  28. .jian::after{
  29. position: absolute;
  30. content: "";
  31. top: 50%;
  32. right: 100%;
  33. transform: translateY(-50%);
  34. z-index: 1;
  35. border-width: 5px;
  36. border-style: solid;
  37. border-color: transparent black transparent transparent;
  38. }
  39. </style>
  40. <body>
  41. <h1>提示框</h1>
  42. <div class="main">
  43. 显示我
  44. <div class="jian">
  45. 提示框成功了
  46. </div>
  47. </div>
  48. </body>
  49. </html>

5. 盒子模型 Box Model

        我们可以把每一个标签元素看成一个盒子,盒子中包括了边距、边框、填充和实际内容,盒子模型允许在盒子周围的空间放置其他元素。

 6. CSS3

CSS3是CSS的技术新版本,拥有很多新的特性,下面是新的特性介绍:

6.1. CSS3边框

由三个新的边框属性:border-radius、box-shadow、border-image

border-radius:圆角

使用border-radius:10px 就可以轻易实现圆角了,值越大圆角的弧度越大。

box-shadow:阴影:使用它就可以实现阴影效果。

border-image:边界图片

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>css3边框</title>
  6. <style>
  7. .css3-border{
  8. /*width: 400px;*/
  9. /*height: 400px;*/
  10. /*background-color: #4CAF50;*/
  11. /*border-radius: 100px;*/
  12. border: 15px solid transparent;
  13. border-image: url(border.png) 30 30 stretch;
  14. /*box-shadow: 10px 10px 30px #4CAF50;*/
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <div class="css3-border" >
  20. 你好
  21. </div>
  22. </body>
  23. </html>
6.2. 渐变

CSS3提供了新的渐变属性:linear-gradient

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. .jianBian1{
  8. width: 300px;
  9. height: 100px;
  10. /*上到下*/
  11. background-image: linear-gradient(to bottom, black , pink);
  12. }
  13. .jianBian2{
  14. width: 300px;
  15. height: 100px;
  16. /*从右到左*/
  17. background-image: linear-gradient(to left, orange , blue);
  18. }
  19. .jianBian3{
  20. width: 300px;
  21. height: 100px;
  22. /*对角线*/
  23. background-image: linear-gradient(to bottom right, blanchedalmond , purple);
  24. }
  25. .jianBian4{
  26. width: 300px;
  27. height: 100px;
  28. /* 使用角度 */
  29. background-image: linear-gradient(-30deg, lawngreen , palegoldenrod);
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div class="jianBian1">
  35. </div>
  36. <div class="jianBian2">
  37. </div>
  38. <div class="jianBian3">
  39. </div>
  40. <div class="jianBian4">
  41. </div>
  42. </body>
  43. </html>
6.3. 文本效果

1.文本阴影:text-shadow

2. 文本溢出属性:text-overflow

3. text-outline

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>文本效果</title>
  6. <style>
  7. p{
  8. width: 200px;
  9. overflow: hidden;
  10. white-space: nowrap;
  11. text-shadow: 10px 10px 5px red;
  12. }
  13. .ellipsis{
  14. /*添加省略号*/
  15. text-overflow: ellipsis;
  16. }
  17. .clip{
  18. /*直接断开*/
  19. text-overflow: clip;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <p class="ellipsis"> 你好,如果超出的话会怎么样呢??? </p>
  25. <p class="clip"> 你好,如果超出的话会怎么样呢??? </p>
  26. </body>
  27. </html>
6.4. 过渡

CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。

要实现这一点,必须规定两项内容:

  • 指定要添加效果的CSS属性
  • 指定效果的持续时间。

使用transition: 变化的属性 时间

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>过渡</title>
  6. <style>
  7. .transition{
  8. width: 100px;
  9. height: 100px;
  10. background-color: #4CAF50;
  11. transition: background-color 2s, width 2s, height 2s, transform 2s;
  12. }
  13. .transition:hover{
  14. width: 200px;
  15. height: 200px;
  16. background-color: purple;
  17. transform: rotate(90deg);
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <div class="transition">
  23. 哥们你好
  24. </div>
  25. </body>
  26. </html>
6.5.动画

要创建 CSS3 动画,你需要了解 @keyframes 规则。

@keyframes 规则是创建动画。

@keyframes 规则内指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. .animation{
  8. width: 100px;
  9. height: 100px;
  10. background-color: red;
  11. position: relative;
  12. /*动画名称*/
  13. animation-name: move;
  14. /*动画运行时间*/
  15. animation-duration: 5s;
  16. /*速度曲线*/
  17. animation-timing-function: linear;
  18. /*动画何时开始*/
  19. animation-delay: 2s;
  20. /*动画运行次数*/
  21. animation-iteration-count: infinite;
  22. /*动画再下一个周期是否逆向运行*/
  23. animation-direction: alternate;
  24. /*规定是否运行*/
  25. animation-play-state: running;
  26. }
  27. /*设置动画*/
  28. @keyframes move {
  29. 0% {background-color: red; left: 0px; top: 0px;}
  30. 25% {background-color: yellow; left: 200px; top: 0px;}
  31. 50% {background-color: blue; left: 200px; top: 200px;}
  32. 75% {background-color: green; left: 0px; top: 200px;}
  33. 100% {background-color: red; left: 0px; top: 0px;}
  34. }
  35. </style>
  36. </head>
  37. <body>
  38. <div class="animation">
  39. </div>
  40. </body>
  41. </html>
6.6. CSS3图片

CSS3对图片样式有了新的属性:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. .yuan{
  8. /* 圆形图片 */
  9. width: 100px;
  10. border: solid black;
  11. border-radius: 50%;
  12. }
  13. /*如果你需要自由缩放图片,且图片放大的尺寸不大于其原始的最大值,则可使用以下代码:*/
  14. .xiangYing{
  15. max-width: 100%;
  16. height: auto;
  17. }
  18. /* 卡片式图片*/
  19. div.polaroid{
  20. width: 200px;
  21. background-color: white;
  22. box-shadow: 0 4px 8px 0 gray, 0 10px 20px 0 lightgray;
  23. margin-bottom: 25px;
  24. }
  25. img.dog:hover{
  26. opacity: 0.7;
  27. }
  28. div.container{
  29. text-align: center;
  30. padding: 5px 10px;
  31. }
  32. </style>
  33. </head>
  34. <body>
  35. <a href="../20231118/dog.jpg">
  36. <img src="../20231118/dog.jpg" class="yuan" />
  37. </a>
  38. <h1>响应式图片</h1>
  39. <img src="../20231118/border.png" class="xiangYing">
  40. <h1>这是响应式卡片</h1>
  41. <div class="polaroid">
  42. <img src="../20231118/dog.jpg" alt="Norway" class="dog" style="width:100%;">
  43. <div class="container">
  44. <p>The Troll's tongue in Hardanger, Norway</p>
  45. </div>
  46. </div>
  47. </body>
  48. </html>

7. 总结

通过对CSS的学习,我们可以使得html页面变得更加好看了,接下来我们就要开始学习JavaScript来操控页面元素了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/141094
推荐阅读
相关标签
  

闽ICP备14008679号