CSS动画就是通过CSS (Cascading Style Sheet,层叠样式表)代码搭建的网页动画。它允许设计师和开发人员通过编辑网站的CSS代码来添加页面动画,从而轻松取代传统动画图片或flash动画的设计方式。

transition(过渡)和animation(动画)是CSS3中的两种动画属性。

transition强调过渡,是元素的一个或多个属性发生变化时产生的过渡效果,同一个元素通过两个不同的途径获取样式,而第二个途径当某种改变发生(例如hover)时才能获取样式,这样就会产生过渡动画。

animation强调流程与控制,对元素的一个或多个属性的变化进行控制,可以有多个关键帧(animation 和@ keyframes结合使用)。

1.transition 属性

transition 属性是一个简写属性,用于设置四个过渡属性:

transition-property、transition-duration、transition-timing-function、transition-delay。

(1)transition-duration属性。

transition-duration 属性规定完成过渡效果需要花费的时间(以秒或毫秒计)。其格式为:

transition-duration: time;

属性值time规定完成过渡效果需要花费的时间(以秒或毫秒计)。默认值是 0,意味着不会有效果。

若想得到动画效果,需要指定transition-duration属性,否则持续时间为0,transition不会有任何效果。

(2)transition-delay 属性。

transition-delay 属性规定过渡效果何时开始。其格式为:

transition-delay: time;

属性值time规定在过渡效果开始之前需要等待的时间,以秒或毫秒计。

(3)transition-property属性。

transition-property属性指定CSS属性的nametransition效果(transition效果时将会启动指定的CSS属性的变化)。其格式为:

transition-property: none |all | property;

其中,属性值none表示没有属性会获得过渡效果;属性值all表示所有属性都将获得过渡效果;property   定义应用过渡效果的 CSS 属性名称列表,列表以逗号分隔。

(4)transition-timing-function 属性。

transition-timing-function属性指定切换效果的速度。此属性允许一个过渡效果,以改变其持续时间的速度。其格式为:

transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);

各属性值的功能描述如下:

linear      规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。

ease     规定慢速开始,然后变快,然后慢速结束的过渡效果(等于cubic-bezier(0.25,0.1,0.25,1))。

ease-in    规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。

ease-out   规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。

ease-in-out      规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。

cubic-bezier(n,n,n,n)     在cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

例1  transition 属性的简单应用。

先看一个简单的例子,体会transition 属性的应用。

在页面中放置一个类名为container的层作为效果展示容器,在该层中再定义一个类名为move-box的层作为应用过渡效果的对象,HTML代码描述如下:

<div  class="container">

<div class="move-box">

</div>

</div>

为两个层定义CSS样式如下:

.container

{

width: 300px;

height: 200px;

border: 4px solid rgba(255, 0, 0, 0.9);

}

.move-box

{

left:0;

width: 50px;

height: 50px;

position: relative;

background: rgb(0,0,255);

}

这样,在页面中会显示如图1所示的图形。

图1  两个层在页面中的显示

为.containe层添加鼠标悬停样式规则,设置move-box层的left属性值为250px,这样当鼠标悬停在图1所示的红色矩形框中,蓝色正方形会移动到红色矩形框的最右端。

.container:hover .move-box

{

left:250px;

}

但这个移动是瞬时完成的,没有任何过渡效果,更谈不上动画了。为此,需要为这个移动的变化设置transition属性。增加样式规则如下:

.container .move-box

{

transition-duration: 2s;

}

此时,可以得到如图2所示的蓝色小正方形移动的动画效果。当鼠标悬停在红色矩形框中时,蓝色小正方形从左向右移动;当鼠标移离时,蓝色小正方形从右向左移动。

图2 蓝色小正方形移动:双向过渡效果

完整的HTML代码如下。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>transition 属性的简单应用</title>
  5. <style>
  6. .container
  7. {
  8. width: 300px;
  9. height: 200px;
  10. border: 4px solid rgba(255, 0, 0, 0.9);
  11. }
  12. .move-box
  13. {
  14. left:0;
  15. width: 50px;
  16. height: 50px;
  17. position: relative;
  18. background: rgb(0,0,255);
  19. }
  20. .container .move-box
  21. {
  22. transition-duration: 2s;
  23. }
  24. .container:hover .move-box
  25. {
  26. left:250px;
  27. }
  28. </style>
  29. </head>
  30. <body>
  31. <div class="container">
  32. <div class="move-box">
  33. </div>
  34. </div>
  35. </body>
  36. </html>

在这个例子中,在.container .move-box 中设置了过渡动画完成的时间为2秒钟(transition-duration: 2s;),这样在left属性变化时会产生过渡动画效果,而这种效果的产生有两种途径:一种是鼠标在container上悬停, move-box的样式从默认样式到.container:hover的样式,left属性发生了变化,触发了过渡效果; 一种是鼠标移离container层,move-box的样式从.container:hover的样式回到默认样式,left也变化了,因此也产生了过渡效果。这两个方向上的过渡都是平滑不突兀的。

若将.container .move-box样式定义中的transition-duration: 2s;移到.container:hover .move-box中,并删除.container .move-box样式定义,如下:

.container:hover .move-box

{

left:250px;

transition-duration: 2s;

}

此时,过渡动画是单一方向上的,当鼠标在container上悬停时, move-box的样式从默认样式到.container:hover的样式,left属性发生了变化,触发了过渡效果; 当鼠标移离container层,move-box的样式从.container:hover的样式回到默认样式,left也变化了,但此时不是过渡动画的方式,而是直接回到默认,看上去比较突兀和生硬。效果如图3所示。

图3  蓝色小正方形移动:单一方向上有过渡效果

例1中的过渡动画效果是通过改变动画元素的left属性,从而使得元素的位置发生改变而得到的。为了对选定元素进行更多的变换,可以应用transform属性。

transform属性应用于元素的2D或3D转换。这个属性允许将元素旋转、缩放、移动、倾斜等。其基本使用格式为:

transform: none|transform-functions;

其中,属性值none表示不进行转换;属性值transform-functions表示所采用的转换函数,可应用的转换函数和功能描述如下:

matrix(n,n,n,n,n,n)   定义 2D 转换,使用六个值的矩阵。

matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)     定义 3D 转换,使用16个值的4x4矩阵。

translate(x,y)          定义 2D 平移转换。

translate3d(x,y,z)       定义 3D 平移转换。

translateX(x)           定义X 轴平移转换

translateY(y)           定义Y 轴平移转换

translateZ(z)           定义 Z 轴3D 平移转换

scale(x[,y])             定义 2D 缩放转换。

scale3d(x,y,z)           定义 3D 缩放转换。

scaleX(x)             通过设置 X 轴的值来定义缩放转换。

scaleY(y)             通过设置 Y 轴的值来定义缩放转换。

scaleZ(z)             通过设置 Z 轴的值来定义 3D 缩放转换。

rotate(angle)           定义 2D 旋转,在参数中规定角度。

rotate3d(x,y,z,angle)      定义 3D 旋转。

rotateX(angle)         定义沿着 X 轴的 3D 旋转。

rotateY(angle)         定义沿着 Y 轴的 3D 旋转。

rotateZ(angle)         定义沿着 Z 轴的 3D 旋转。

skew(x-angle,y-angle)    定义沿着 X 和 Y 轴的 2D 倾斜转换。

skewX(angle)          定义沿着 X 轴的 2D 倾斜转换。

skewY(angle)          定义沿着 Y 轴的 2D 倾斜转换。

perspective(n)         为 3D 转换元素定义透视视图。

例如,transform: translate(50px,100px);表示元素从左边移动50个像素,并从顶部移动100像素。

将例1中.container:hover .move-box的定义修改为:

.container:hover .move-box

{

transform: translate(250px,0);

}

.container:hover .move-box

{

transform: translateX(250px);

}

同样可以实现如图2所示的页面效果。但transform属性的设置更灵活。

例如,将例1中.container:hover .move-box的定义修改为:

.container:hover .move-box

{

transform: translate(250px,150px);

}

则可得到如图4所示的动画效果。此时,蓝色小正方形在水平和垂直方向上都发生了平移。

图4  蓝色小正方形沿对角线平移

再如,将例1中.container:hover .move-box的定义修改为:

.container:hover .move-box

{

transform:  rotate(45deg) translateX(200px);

}

则可得到如图5所示的动画效果。

图5  蓝色小正方形旋转并平移

例2  图片的平移、缩放和旋转变换。

在页面中放置一个类名为container的层作为效果展示容器,在该层中再定义一个9个子层,每个子层中放置一幅图片,为图片添加鼠标悬停变换效果,当鼠标悬停在某幅图片上时,该图片或平移、或缩放、或旋转。编写完整的HTML代码如下。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>图片的平移、缩放和旋转变换</title>
  5. <style>
  6. *{
  7. margin: 0;
  8. padding: 0;
  9. }
  10. .container
  11. {
  12. border: 3px solid rgba(255, 0, 255, 0.9);
  13. width: 1000px;
  14. height: 600px;
  15. display: flex;
  16. margin-left: 200px;
  17. flex-direction: row;
  18. flex-wrap: wrap;
  19. justify-content: space-around;
  20. align-content: space-around;
  21. }
  22. .container>div
  23. {
  24. width: 300px;
  25. height: 150px;
  26. transition-duration: 2s;
  27. }
  28. .container>div>img
  29. {
  30. width: 100%;
  31. height: 100%;
  32. }
  33. .container>div:nth-child(1):hover
  34. {
  35. transform: translate(665px,200px);
  36. }
  37. .container>div:nth-child(2):hover
  38. {
  39. transform: rotateX(60deg);
  40. }
  41. .container>div:nth-child(3):hover
  42. {
  43. transform: rotateY(60deg);
  44. }
  45. .container>div:nth-child(4):hover
  46. {
  47. transform: rotateX(360deg);
  48. }
  49. .container>div:nth-child(5):hover
  50. {
  51. transform: scale(2);
  52. }
  53. .container>div:nth-child(6):hover
  54. {
  55. transform: rotateY(360deg);
  56. }
  57. .container>div:nth-child(7):hover
  58. {
  59. transform: rotateZ(360deg);
  60. }
  61. .container>div:nth-child(8):hover
  62. {
  63. transform: rotateZ(180deg);
  64. }
  65. .container>div:nth-child(9):hover
  66. {
  67. transform: skew(30deg);
  68. }
  69. </style>
  70. </head>
  71. <body>
  72. <div class="container">
  73. <div><img src="mlh.jpg" alt=""/></div>
  74. <div><img src="mls.jpg" alt=""/></div>
  75. <div><img src="mltc.png" alt=""/></div>
  76. <div><img src="mlyws.png" alt=""/></div>
  77. <div><img src="hhl.jpg" alt=""/></div>
  78. <div><img src="mlcy.png" alt=""/></div>
  79. <div><img src="mlmgy.png" alt=""/></div>
  80. <div><img src="mljlg.png" alt=""/></div>
  81. <div><img src="mlqlz.png" alt=""/></div>
  82. </div>
  83. </body>
  84. </html>

在浏览器中打开保存上述HTML代码的html文件,在浏览器中呈现出如图6所示的变换效果(部分示例)。

图6  图片旋转

transition的优点在于简单易用,但是它有几个很大的局限。

(1)transition需要事件触发,所以没法在网页加载时自动发生。例1和例2都是采用伪选择器hover,在鼠标悬停时产生动画效果。

(2)transition是一次性的,不能重复发生,除非一再触发。

(3)transition只能定义开始状态和结束状态,不能定义中间状态,也就是说只有两个状态。例如,例1中的蓝色小正方形只能沿一条指定的路线移动。若想让蓝色小正方形沿着上下左右边界转圈移动,transition属性就没法做到。

CSS Animation就是为了解决这些问题而提出的。

2.animation 属性

animation 属性是六个动画属性的简写属性,这6个属性是animation-name、animation-duration、animation-timing-function、animation-delay、animation-iteration-count和animation-direction。

(1)animation-name属性。

animation-name 属性为 @keyframes 动画规定名称。其格式为:

animation-name: keyframename|none;

其中,属性值keyframename规定需要绑定到选择器的keyframe的名称。属性值none规定无动画效果(可用于覆盖来自级联的动画)。

(2)animation-duration属性。

animation-duration 属性定义动画完成一个周期所需要的时间,以秒或毫秒计。其格式为:  animation-duration: time;

(3)animation-timing-function属性。

animation-timing-function属性规定动画的速度曲线。速度曲线用于,使变化更为平滑。其格式为:

animation-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);

各属性值的功能描述如下:

linear          动画从头到尾的速度是相同的。

ease         默认。动画以低速开始,然后加快,在结束前变慢。

ease-in        动画以低速开始。

ease-out       动画以低速结束。

ease-in-out      动画以低速开始和结束。

cubic-bezier(n,n,n,n)     在 cubic-bezier 函数中定义自己的值。可能的值是从 0 到 1 的数值。

(4)animation-delay属性。

animation-delay 属性定义动画什么时候开始。其格式为:

animation-delay: time;

属性值time单位可以是秒(s)或毫秒(ms)。并且time允许负值,-2s 使动画马上开始,但跳过 2 秒进入动画。

(5)animation-iteration-count属性。

animation-iteration-count 属性定义动画的播放次数。其格式为:

animation-iteration-count: n|infinite;

其中,属性值n定义动画播放次数的数值;属性值infinite规定动画应该无限次播放。

(6)animation-direction属性。

animation-direction属性规定是否应该轮流反向播放动画。其格式为:

animation-direction: normal|reverse|alternate|alternate-reverse;

其中,属性值normal表示以正常的方式播放动画;reverse   以相反方向播放动画;alternate  播放动画时,每奇数时间(1,3,5…)正常播放,每偶数时间(2,4,6…)反方向播放; alternate-reverse播放动画时,每奇数时间(1,3,5…)反方向播放,每偶数时间(2,4,6…)正常播放。

例3  沿着容器边框转圈移动的蓝色小正方形。

修改例1中的效果,使得蓝色小正方形可以沿着上边框、右边框、下边框和左边框循环转圈。编写HTML文件如下。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>沿边框四周移动的小正方形</title>
  5. <style>
  6. .container
  7. {
  8. width: 300px;
  9. height: 200px;
  10. border: 4px solid rgba(255, 0, 0, 0.9);
  11. }
  12. .move-box
  13. {
  14. left:0;
  15. top:0;
  16. width: 50px;
  17. height: 50px;
  18. position: relative;
  19. background: rgb(0,0,255);
  20. animation:myfirst 5s infinite;
  21. }
  22. @keyframes myfirst
  23. {
  24. 0% { left:0px; top:0px;}
  25. 25% { left:250px; top:0px;}
  26. 50% { left:250px; top:150px;}
  27. 75% { left:0px; top:150px; }
  28. 100% { left:0px; top:0px;}
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div class="container">
  34. <div class="move-box">
  35. </div>
  36. </div>
  37. </body>
  38. </html>

在浏览器中打开保存上述HTML代码的html文件,在浏览器中呈现出如图7所示的动画效果。

图7  沿四周循环转圈的小正方形

如在上面CSS定义的“animation:myfirst 5s infinite;”语句后,再加上一条语句“animation-direction:alternate;” ,则得到如图8所示的动画效果,与图7的不同之处在于,偶数运动周期时,小正方形的移动方向沿着“左边框-->下边框-->右边框-->上边框”。

图8  沿四周循环转圈的小正方形

需要说明的是:Internet Explorer 10、Firefox 以及 Opera 等支持 animation 属性,Safari 和 Chrome 支持替代的 -webkit-animation 属性,而Internet Explorer 9 以及更早的版本不支持 animation 属性。因此,从浏览器兼容性的角度出发,在例3的HTML文件的CSS定义中可加上如下定义:

@-webkit-keyframes myfirst

{

0%    { left:0px; top:0px;}

25%   { left:250px; top:0px;}

50%   { left:250px; top:150px;}

75%   { left:0px; top:150px; }

100%  { left:0px; top:0px;}

}

例4  图片的缩放、旋转和倾斜动画。

在页面中放置一个类名为container的层作为效果展示容器,在该层中再定义一个4个子层,每个子层中放置一幅图片,为每幅图片添加动画效果,第1幅图片缩小后放大,第2幅图片绕X轴翻转,第3幅图片沿Z轴旋转,第4幅图片倾斜。编写完整的HTML代码如下。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>图片的缩放、旋转和倾斜变换</title>
  5. <style>
  6. *{
  7. margin: 0;
  8. padding: 0;
  9. }
  10. .container
  11. {
  12. border: 3px solid rgba(255, 0, 255, 0.9);
  13. width: 850px;
  14. height: 550px;
  15. display: flex;
  16. margin: 0 auto;
  17. flex-direction: row;
  18. flex-wrap: wrap;
  19. justify-content: space-around;
  20. align-content: space-around;
  21. }
  22. .container>div
  23. {
  24. width: 400px;
  25. height:250px;
  26. }
  27. .container>div>img
  28. {
  29. width: 100%;
  30. height: 100%;
  31. }
  32. .container>div:nth-child(1)
  33. {
  34. animation:myAnim1 3s infinite;
  35. }
  36. @keyframes myAnim1
  37. {
  38. 0% { transform: none;}
  39. 50% { transform: scale(0);}
  40. 100% { transform: scale(1);}
  41. }
  42. .container>div:nth-child(2)
  43. {
  44. animation:myAnim2 3s infinite;
  45. }
  46. @keyframes myAnim2
  47. {
  48. 0% { transform: none;}
  49. 100% { transform: rotateX(360deg);}
  50. }
  51. .container>div:nth-child(3)
  52. {
  53. animation:myAnim3 3s infinite;
  54. }
  55. @keyframes myAnim3
  56. {
  57. from { transform: none;}
  58. to { transform: rotateZ(360deg);}
  59. }
  60. .container>div:nth-child(4)
  61. {
  62. animation:myAnim4 3s infinite;
  63. }
  64. @keyframes myAnim4
  65. {
  66. 0% { transform: none;}
  67. 33% { transform: skew(15deg,15deg);}
  68. 67% { transform: skew(-15deg,-15deg);}
  69. 100% { transform: skew(0deg,0deg);}
  70. }
  71. </style>
  72. </head>
  73. <body>
  74. <div class="container">
  75. <div><img src="mlh.jpg" alt=""/></div>
  76. <div><img src="hhl.jpg" alt=""/></div>
  77. <div><img src="mlcy.png" alt=""/></div>
  78. <div><img src="mltc.png" alt=""/></div>
  79. </div>
  80. </body>
  81. </html>

在浏览器中打开保存上述HTML代码的html文件,在浏览器中呈现出如图9所示的动画效果。

图9  图片的缩放、旋转和倾斜动画

例5  旋转的文字。

在页面中放置一个类名为container的层作为效果展示容器,在该层中再定义一个3个子层,每个子层中放置一个汉字,为每个汉字所在的层添加动画效果,第1个汉字水平翻转,第2个汉字绕中心旋转,第3个汉字垂直翻转。编写完整的HTML代码如下。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>欢乐颂</title>
  5. <style>
  6. .container
  7. {
  8. margin: 0 auto;
  9. width: 650px;
  10. height: 250px;
  11. display: flex;
  12. flex-direction: row;
  13. flex-wrap: wrap;
  14. border: 4px solid rgba(255, 0, 0, 0.9);
  15. }
  16. .container>div
  17. {
  18. width:200px;
  19. height:200px;
  20. margin:20px auto;
  21. text-align: center;
  22. font:800 100px/200px "隶书";
  23. border-radius: 50%;
  24. transform-origin:center 50%;
  25. }
  26. .container>div:nth-child(1)
  27. {
  28. background:#f00;
  29. animation: anim1 2s infinite linear;
  30. }
  31. @keyframes anim1
  32. {
  33. from { transform: rotate(0);}
  34. to { transform: rotateX(360deg);}
  35. }
  36. .container>div:nth-child(2)
  37. {
  38. background:#0f0;
  39. animation: anim2 2s infinite linear;
  40. }
  41. @keyframes anim2
  42. {
  43. from { transform: rotate(0);}
  44. to { transform: rotate(360deg);}
  45. }
  46. .container>div:nth-child(3)
  47. {
  48. background:#00f;
  49. animation: anim3 2s infinite linear;
  50. }
  51. @keyframes anim3
  52. {
  53. from { transform: rotate(0);}
  54. to { transform: rotateY(360deg);}
  55. }
  56. </style>
  57. </head>
  58. <body>
  59. <div class="container">
  60. <div></div><div></div><div></div>
  61. </div>
  62. </body>
  63. </html>

在浏览器中打开保存上述HTML代码的html文件,在浏览器中呈现出如图10所示的动画效果。

图10  汉字的旋转

例6  旋转的风车。

预先准备好一张风车的图片,在页面中放置一个类名为container的层作为效果展示容器,将风车图片作为该层的背景图片。鼠标悬停在层上时,风车旋转,鼠标移离,风车停止旋转。编写完整的HTML代码如下。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>旋转的风车</title>
  5. <style>
  6. .container
  7. {
  8. margin: 0 auto;
  9. background-image: url(a1.png);
  10. width: 300px;
  11. height: 300px;
  12. background-position: center center;
  13. background-repeat: no-repeat;
  14. background-size: cover;
  15. border-radius: 50%;
  16. vertical-align: middle;
  17. border: 4px solid rgba(255, 0, 0, 0.9);
  18. }
  19. .container:hover {
  20. animation: anim 2s linear infinite;
  21. }
  22. @keyframes anim
  23. {
  24. 0% { transform: rotate(0deg); }
  25. 100% { transform: rotate(360deg); }
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div class="container"></div>
  31. </body>
  32. </html>

在浏览器中打开保存上述HTML代码的html文件,在浏览器中呈现出如图11所示的动画效果。

图11  旋转的风车

例7  方和圆。

实现方形变换为圆形,编写HTML代码如下。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>方和圆</title>
  5. <style>
  6. .container
  7. {
  8. margin: 0 auto;
  9. width: 350px;
  10. height: 250px;
  11. border: 4px solid rgba(255, 0, 0, 0.9);
  12. }
  13. .container>div
  14. {
  15. width:100px;
  16. height:100px;
  17. position: relative;
  18. left:0;
  19. top:75px;
  20. animation: anim1 4s infinite;
  21. }
  22. @keyframes anim1
  23. {
  24. from
  25. {
  26. background:#f00;
  27. transform:translate(0,0);
  28. }
  29. to
  30. {
  31. background:#00f;
  32. transform:translate(250px,0);
  33. border-radius: 50%;
  34. }
  35. }
  36. </style>
  37. </head>
  38. <body>
  39. <div class="container">
  40. <div></div>
  41. </div>
  42. </body>
  43. </html>

在浏览器中打开保存上述HTML代码的html文件,在浏览器中呈现出如图12所示的动画效果。

图12  方和圆的变换

CSS动画基础知识的更多相关文章

  1. 十四、css动画基础知识

    引用动画的方式:   1.轻量动画: cubic-bezier(0.165, 0.840, 0.440, 1.000);//加上贝塞尔曲线使动画运动起来更加平滑 2..scrollNews,.m-tr ...

  2. HTML+CSS+JS基础知识

    HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...

  3. CSS样式基础知识

    CSS样式基础知识 CSS样式概述 CSS是Cascading Style Sheet 的缩写.译作“层叠样式表单”.是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言. 引用位 ...

  4. css 3d 基础知识

    css3d 总结 3d transform (3D变形)(rotate skew scale translate) 基础知识 perspective (视距,景深) perspective-origi ...

  5. 前端三件套 HTML+CSS+JS基础知识内容笔记

    HTML基础 目录 HTML基础 HTML5标签 doctype 标签 html标签 head标签 meta标签 title标签 body标签 文本和超链接标签 标题标签 段落标签 换行标签 水平标签 ...

  6. css入门基础知识

    一.CSS常用选择器 /*CSS注释*/ /*CSS修改页面中的所有标签必须借助选择器选中. 选择器中可以写多对CSS属性:每个属性名与属性值之间用:分隔,多对属性之间,必须用;分隔 选择器{ 属性1 ...

  7. CSS 一些基础知识(优先级、行内元素的一些属性、font-size单位) 怎样不加载图片

    CSS大小写不敏感 选择器优先级如下所示: 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式. 作为style属性写在元素内的样式 id选择器 类选择器 标签选择器 通配符选择 ...

  8. css的基础知识1

    总结:css引用:1内联:在标签中加style属性,<标签名 style="样式1:样式值1:样式2:样式值2"> </标签名>.2.内嵌:在head标签中 ...

  9. css定位基础知识

    标题:css定位 地址:https://www.w3school.com.cn/css/css_positioning.asp

随机推荐

  1. less : 解决升级后报错的问题

    vue2项目. 上版本. { "name": "xxx", "version": "1.0.0", "desc ...

  2. C++语法小记---类模板

    类模板 类模板和函数模板类似,主要用于定义容器类 类模板可以偏特化,也可以全特化,使用的优先级和函数模板相同 类模板不能隐式推倒,只能显式调用 工程建议: 模板的声明和实现都在头文件中 成员函数的实现 ...

  3. C++语法小记---运算符重载

    运算符重载 运算符重载的本质也是对已有功能的扩展 运算符重载的本质就是函数重载,只是函数变成了 operator + 运算符 当成员函数和全局函数对运算符进行重载时,优先调用成员函数 运算符重载为成员 ...

  4. jmeter之断言、数据提取器(正则表达式、jsonpath、beanshell)、聚合报告、参数化

    ctx - ( JMeterContext) - gives access to the context vars - ( JMeterVariables) - gives read/write ac ...

  5. menu目录下的navigation.xml

    <?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http:// ...

  6. OpenWrt 编译分割

    本文主要参考:http://macbruins.com/2011/05/08/downloading-sources-for-building-openwrt/ OpenWrt系统在buildroot ...

  7. Centos 7下编译安装Apache

    (1)下载apr.apr-util.httpd源码包 百度云下载地址:https://pan.baidu.com/s/1HyW_9XTLhhhf5j_IuNCQsQ 提取码:pg4d (2)安装编译工 ...

  8. Android存储--SharedPreferences

    简介 在Android中,主要有以下几种存储方式: SharedPreferences,在键值对中存储私有原始数据. 内部存储,在设备内存中存储私有数据. 官方示例: String FILENAME ...

  9. Java Web(5)-Servlet详解(上)

    一.Servlet 1. 什么是Servlet Servlet 是 JavaEE 规范之一,规范就是接口 Servlet 就 JavaWeb 三大组件之一,三大组件分别是:Servlet 程序.Fil ...

  10. IDEA 修改快捷键和Myeclipse 快捷键一致

    介绍 我们知道IDEA这款开发工具功能很强大,为了简化开发步骤,提高开发效率,使用快捷键很显然是必不可少的,那么怎么才能使得IDEA快捷键和MyEclipse快捷键 保持相同呢? 第一种方法,一个快捷 ...