PHP前端开发

CSS 中具有多个属性的过渡简写?

百变鹏仔 3个月前 (09-20) #CSS
文章标签 多个

我们可以使用 CSS 添加过渡到 HTML 元素。在开始本教程之前,让我们先了解一下什么是过渡。基本上,转换是元素从一种状态变为另一种状态。例如,当用户将鼠标悬停在元素上时,我们会更改元素的尺寸。

在 CSS 中,我们可以使用两种方式向元素添加过渡。首先是同时使用“transition-property”、“transition-duration”、“transition-timing-function”和“transition-delay”这四个属性。第二种是仅使用“transition”CSS 属性。

CSS“transition”属性是以下 CSS 属性的简写。

  • Transition-property - 它指定我们需要应用过渡效果的 CSS 属性。如果我们需要对所有属性应用转换,我们可以使用“all”作为值。

    立即学习“前端免费学习笔记(深入)”;

  • Transition-duration - 过渡效果的总时间(以秒为单位)。

  • Transition-timing-function - 它确定转换应如何进行。过渡计时函数的示例有“liner”、“ease-in”、“ease-out”、“ease-in-out”等。

  • Transition-delay - 这是过渡效果开始后的一段时间。

语法

用户可以按照以下语法将过渡简写与多个 CSS 属性一起使用。

element {   transition: Property duration timing-function delay;}

在上面的语法中,第一个值是转换属性,第二个值是转换持续时间,第三个值是计时函数,最后一个值是转换延迟。

示例 1

在下面的示例中,我们有一个尺寸为 200 x 200 的 div 元素,并且我们在 div 元素的高度上添加了持续 2 秒的过渡效果。这里,转换延迟为0.5秒,计时功能为“ease-in-out”。

用户可以将鼠标悬停在 div 元素上来观察过渡效果。我们可以观察到 div 元素的高度是平滑增加的,而不是立即增加的。

<html><head>   <style>      /* adding transition effect on the element */      .element {         width: 500px;         height: 200px;         background-color: red;         color: white;         font-size: 25px;         transition: height 2s ease-in-out 0.5s;      }      .element:hover {         height: 400px;         background-color: green;      }   </style></head><body>   <h3>Using the <i> transition property </i> of CSS to add transition to the element</h3>   <div class = "element">      This div contains the texts.      <p> Hover over this div and wait to see the changes </p>   </div></body></html>

示例 2

在下面的示例中,div 元素的初始 margin-left 为 2px。当用户将鼠标悬停在 div 元素上时,我们将 margin-left 增加到 100px。我们在 div 元素的 margin-left CSS 属性上添加了延迟 0.5 秒后持续 2 秒的过渡效果。

在输出中,将鼠标悬停在 div 元素上,该元素将在 2 秒内向右移动 100px。

<html><head>   <style>      /* adding transition effect on the element */      .element {         width: 200px;         height: 200px;         background-color: blue;         color: white;         font-size: 25px;         margin-left: 2px;         border-radius: 12px;         transition: margin-left 2s ease-in-out 0.5s;      }      .element:hover {         margin-left: 100px;      }   </style></head><body>   <h3> Using the <i> transition property </i> of CSS to add transition to the element </h3>   <p> Hover over the below div and wait to see the changes. </p>   <div class = "element">      This div contains the texts.   </div></body></html>

示例 3

在下面的示例中,我们为多个 CSS 属性添加了过渡效果。在这里,我们为“margin-left”、“height”、“width”、“background-color”、“color”和“font-size”CSS属性添加了2秒的过渡效果。

在输出中,用户可以观察到所有 CSS 属性的过渡都很平滑。但是,我们可以使用“all”作为“transition-property”的值来向所有属性添加过渡。

<html><head>   <style>      /* adding transition effect on the element */      .element {         width: 200px;         height: 200px;         background-color: blue;         color: white;         font-size: 25px;         margin-left: 2px;         border-radius: 12px;         transition: margin-left 2s, height 2s, width 2s, background-color 2s, color 2s, font-size 2s;      }      .element:hover {         margin-left: 100px;         height: 400px;         width: 400px;         background-color: aqua;         color: black;         font-size: 40px;      }   </style></head><body>   <h3> Using the <i> transition property </i> of CSS to add transition to the element </h3>   <p> Hover over the bellow div to see the achennges</p>   <div class = "element">      Square div element.   </div></body></html>

用户学会了使用“transition”CSS 属性,这是与过渡相关的多个 CSS 属性的简写。在这里,我们已经学会了在上面的三个示例中使用“transition”CSS属性。在上一个示例中,我们为多个 CSS 属性添加了过渡效果。