Table des matières
社交卡片
写HTML
Donovan Hutchinson
样式
基本显示和隐藏
在动画之前
基本的动画
有弹性效果的时间曲线
动画延迟
合并多个动画
关闭图标
采取行动的时候到了
最后再说一点
演示
关于前缀和浏览器兼容性的说明
总结
Maison interface Web tutoriel HTML 如何让你的CSS3动画更具吸引力_html/css_WEB-ITnose

如何让你的CSS3动画更具吸引力_html/css_WEB-ITnose

Jun 24, 2016 am 11:43 AM


当我们使用CSS3动画时,我们经常讨论如何使用创造过渡,动画等实战方法。然而动画的强大之处不是集中在单个动画是如何工作的,而是多个动画结合起来,创造出令人震撼的效果。良好的动画设计可以使我们的作品脱颖而出。

迪斯尼的 动画的12个基本原则 定义“感染力”为“一个演员的迷人之处。” 它是描述如何使用虚实,风格,和动画的物质叠加起来创建生动的角色,使得观众觉得真实而有趣。


它是一种被应用于stripe并造成巨大影响的技术。stripe是一种付款处理器,并提供了工具,在网站的嵌入支付形式。这些形式被设计得非常精美,特别是其使用的动画。

在本文中,我将讨论如何将多个动画联合起来实现1+1大于2的效果,并实战演示如何使用这些知识。

社交卡片

在这个例子中,我们将使用动画来展示与细节和链接到用户网站网站或其他社交账户。

See the Pen Adding Appeal to Your Animations on the Web by Tuts+ (@tutsplus) on CodePen.

当按下按钮时,它会动态弹出一张卡片。而不是仅仅使用一个普通的模态窗口,我们将使用动画来使它更有趣。

为了使它有吸引力,我使用了几个动画。各个部分的动画都按顺序介绍每个元素。这有助于帮助观众理解他们已经按下,并且内容和动画的顺序有助于把观众的目光吸引到后续图标。

写HTML

开始做动画之前,我们需要一个按钮,按下之后卡片会显示出来。内容第一次出现的时候,卡片会被隐藏掉。

<button class="show-card">        <img  src="/static/imghw/default1.png"  data-src="https://avatars2.githubusercontent.com/u/853536?v=3&s=48"  class="lazy" alt="如何让你的CSS3动画更具吸引力_html/css_WEB-ITnose" >          Press here   </button>       <article class="card">          <section class="close">            <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="14"    style="max-width:90%" viewBox="0 0 32 32">              <path d="M31.708 25.708c-0-0-0-0-0-0l-9.708-9.708 9.708-9.708c0-0 0-0 0-0 0.105-0.105 0.18-0.227 0.229-0.357 0.133-0.356 0.057-0.771-0.229-1.057l-4.586-4.586c-0.286-0.286-0.702-0.361-1.057-0.229-0.13 0.048-0.252 0.124-0.357 0.228 0 0-0 0-0 0l-9.708 9.708-9.708-9.708c-0-0-0-0-0-0-0.105-0.104-0.227-0.18-0.357-0.228-0.356-0.133-0.771-0.057-1.057 0.229l-4.586 4.586c-0.286 0.286-0.361 0.702-0.229 1.057 0.049 0.13 0.124 0.252 0.229 0.357 0 0 0 0 0 0l9.708 9.708-9.708 9.708c-0 0-0 0-0 0-0.104 0.105-0.18 0.227-0.229 0.357-0.133 0.355-0.057 0.771 0.229 1.057l4.586 4.586c0.286 0.286 0.702 0.361 1.057 0.229 0.13-0.049 0.252-0.124 0.357-0.229 0-0 0-0 0-0l9.708-9.708 9.708 9.708c0 0 0 0 0 0 0.105 0.105 0.227 0.18 0.357 0.229 0.356 0.133 0.771 0.057 1.057-0.229l4.586-4.586c0.286-0.286 0.362-0.702 0.229-1.057-0.049-0.13-0.124-0.252-0.229-0.357z" fill="#aaa"></path>    </svg>          </section>           <section class="details">             <h2 id="Donovan-Hutchinson">Donovan Hutchinson</h2>             <p class="description">Donovan is a Dublin-based front-end developer with a passion for CSS, animation and making the web fun.</p>           </section>           <section class="headshot">             <img  src="/static/imghw/default1.png"  data-src="https://avatars2.githubusercontent.com/u/853536?v=3&s=280"  class="lazy" alt="如何让你的CSS3动画更具吸引力_html/css_WEB-ITnose" >           </section>           <section class="icon-bar">             <ul>               <li>                 <a href="http://cssanimation.rocks">                   <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32"    style="max-width:90%" viewBox="0 0 32 32">                     <path d="M32 19l-6-6v-9h-4v5l-6-6-16 16v1h4v10h10v-6h4v6h10v-10h4z" fill="#fff"></path>                   </svg>                 </a>               </li>               <li>                 <a href="https://twitter.com/cssanimation">                   <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32">                     <path d="M32 6.076c-1.177 0.522-2.443 0.875-3.771 1.034 1.355-0.813 2.396-2.099 2.887-3.632-1.269 0.752-2.674 1.299-4.169 1.593-1.198-1.276-2.904-2.073-4.792-2.073-3.626 0-6.565 2.939-6.565 6.565 0 0.515 0.058 1.016 0.17 1.496-5.456-0.274-10.294-2.888-13.532-6.86-0.565 0.97-0.889 2.097-0.889 3.301 0 2.278 1.159 4.287 2.921 5.465-1.076-0.034-2.088-0.329-2.974-0.821-0.001 0.027-0.001 0.055-0.001 0.083 0 3.181 2.263 5.834 5.266 6.437-0.551 0.15-1.131 0.23-1.73 0.23-0.423 0-0.834-0.041-1.235-0.118 0.835 2.608 3.26 4.506 6.133 4.559-2.247 1.761-5.078 2.81-8.154 2.81-0.53 0-1.052-0.031-1.566-0.092 2.905 1.863 6.356 2.95 10.064 2.95 12.076 0 18.679-10.004 18.679-18.68 0-0.285-0.006-0.568-0.019-0.849 1.283-0.926 2.396-2.082 3.276-3.398z" fill="#fff"></path>                   </svg>                 </a>               </li>               <li>                          <a href="https://github.com/cssanimation">                   <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32">                     <path d="M0 17.388c0 1.45 0.136 2.762 0.407 3.935s0.647 2.193 1.127 3.059 1.090 1.627 1.831 2.285c0.741 0.657 1.544 1.195 2.41 1.612s1.854 0.756 2.965 1.017c1.111 0.261 2.245 0.443 3.403 0.548s2.431 0.156 3.818 0.156c1.398 0 2.676-0.052 3.834-0.156s2.295-0.287 3.411-0.548 2.11-0.6 2.981-1.017c0.871-0.417 1.68-0.954 2.425-1.612s1.361-1.419 1.846-2.285 0.863-1.886 1.134-3.059c0.271-1.174 0.407-2.486 0.407-3.935 0-2.587-0.866-4.825-2.597-6.713 0.094-0.25 0.18-0.535 0.258-0.853s0.151-0.772 0.219-1.361c0.068-0.589 0.042-1.27-0.078-2.042s-0.342-1.56-0.665-2.363l-0.235-0.047c-0.167-0.031-0.441-0.023-0.822 0.024s-0.824 0.141-1.33 0.282c-0.506 0.141-1.158 0.412-1.956 0.814s-1.64 0.905-2.527 1.51c-1.523-0.417-3.615-0.626-6.275-0.626-2.65 0-4.736 0.209-6.259 0.626-0.887-0.605-1.734-1.108-2.543-1.51s-1.453-0.673-1.933-0.814c-0.48-0.141-0.928-0.232-1.346-0.274s-0.681-0.055-0.79-0.039-0.196 0.034-0.258 0.055c-0.323 0.803-0.545 1.591-0.665 2.363s-0.146 1.453-0.078 2.042 0.141 1.043 0.219 1.361c0.078 0.318 0.164 0.602 0.258 0.853-1.732 1.888-2.598 4.126-2.598 6.713zM3.928 21.315c0-1.502 0.683-2.879 2.050-4.131 0.407-0.376 0.881-0.66 1.424-0.853s1.155-0.302 1.839-0.329c0.683-0.026 1.338-0.021 1.964 0.016s1.398 0.086 2.316 0.149c0.918 0.063 1.711 0.094 2.379 0.094s1.46-0.031 2.378-0.094c0.918-0.063 1.69-0.112 2.316-0.149s1.28-0.042 1.964-0.016c0.683 0.026 1.296 0.136 1.839 0.329s1.017 0.477 1.424 0.853c1.367 1.231 2.050 2.608 2.050 4.131 0 0.897-0.112 1.693-0.337 2.386s-0.511 1.275-0.861 1.745-0.834 0.868-1.455 1.197c-0.621 0.329-1.226 0.582-1.815 0.759s-1.346 0.316-2.269 0.415c-0.923 0.099-1.747 0.159-2.472 0.18s-1.646 0.031-2.762 0.031-2.037-0.010-2.762-0.031c-0.725-0.021-1.549-0.081-2.472-0.18s-1.68-0.237-2.269-0.415c-0.589-0.177-1.194-0.43-1.815-0.759s-1.106-0.728-1.455-1.197c-0.349-0.469-0.636-1.051-0.861-1.745s-0.336-1.489-0.336-2.386zM20 21c0-1.657 0.895-3 2-3s2 1.343 2 3c0 1.657-0.895 3-2 3s-2-1.343-2-3zM8 21c0-1.657 0.895-3 2-3s2 1.343 2 3c0 1.657-0.895 3-2 3s-2-1.343-2-3z" fill="#fff"></path>          </svg>                 </a>               </li>           </section>         </article>         
Copier après la connexion

按钮是一个图像和一些文字。当按下时,它会显示卡片。卡片是由四个部分组成,关闭按钮,一个细节部分,头像和包含的社会图标的图标栏。在这个例子中,我们使用内嵌的SVG来自Entypo集合。

样式

进入动画之前,让我们添加一些按钮和存储卡的样式。首先是按钮:

.show-card { background: #fff; border-radius: 4em; border: 0.25em solid #1fa756; color: #1fa756; font-size: 18px; left: 50%; line-height: 1.5; padding: 1em 1em 1em 4em; position: absolute; top: 50%; transform: translate(-50%, -50%); outline: none; }.show-card img { border-radius: 50%; left: 0.3em; position: absolute; top: 0.25em; width: 3em; }
Copier après la connexion

注:我们已经增加了一个语句 outline: none;到.show-card元素,因为某些浏览器会给出于focus状态的对象添加个额外的框。(这是我们不希望看到的)


然后,我们给卡片的各个部分添加样式。

.card { bottom: calc(50% - 8em); display: none; height: 16em; left: calc(50% - 10em); position: absolute; transition: all 0.4s 0.4s cubic-bezier(.5,.2,.43,1.33); width: 20em; }.close { color: #aaa; cursor: pointer; height: 1em; opacity: 0; position: absolute; right: 0.5em; top: 0.5em; width: 1em; z-index: 10; }.details { position: absolute; bottom: 2.5em; background: #fff; border-radius: 0.25em; height: 0; overflow: hidden; text-align: center; width: 20em; }.name { color: #333; font-weight: bold; margin: 3em 0 0; opacity: 0; }.description { color: #666; font-size: 1em; font-weight: 200; line-height: 1.5; margin: 0.75em 2em 2em; opacity: 0; }.headshot img { border-radius: 50%; border: 0.5em solid #fff; display: block; height: 6em; margin: -3em auto 0.5em; opacity: 0; width: 6em; }.icon-bar { background: #1fa756; border-radius: 0.25em; left: -1em; position: absolute; right: -1em; top: 13em; }.icon-bar ul { display: flex; flex-display: column; flex-wrap: nowrap; padding: 0; }.icon-bar li { display: inline-block; font-size: 2em; opacity: 0; padding: 0 1em; width: 33%; }.icon-bar a { color: #fff; text-decoration: none; }
Copier après la connexion

请注意,这里我们设置卡片display: none。然后,我们将使用JavaScript来控制它显示。

基本显示和隐藏

说好了不是用CSS,这里我们先写好显示和隐藏联系人信息的基本动作。然后利用一个小段JavaScript(这里使用的是jQuery)代码,根据点击对象来添加和删除的对应的类。

// Show the card on clicking the button$('.show-card').click(function(e) {  $('.card').addClass('show').css('display', 'block');  $('.show-card').addClass('hide');});// Hide the card on clicking the "x"$('.card .close').click(function(e) {  $('.card').css('display', 'none');});
Copier après la connexion

现在,没出意外的话,我们应该能使用CSS的display属性来控制卡片的显示和隐藏了。

显示和隐藏的例子在这里:

See the Pen Basic JS show/hide by Tuts+ (@tutsplus) on CodePen.

在动画之前

有了前面的准备,我们还需要添加一些额外样式来隐藏的各个要素。

.close, .name, .description, .headshot img, .icon-bar li { opacity: 0; }.details { height: 0; }
Copier après la connexion

这些元素在他们执行动画之前,将会有一个延迟时间,所以我们需要先隐藏掉。

基本的动画

有了前面的准备,接下来我们开始操作动画。上面的Javascript代码在卡片显示的时候给它添加了一个show状态,我们可以通过这个类名来给卡片的各个部分添加动画。

要做到这一点,我们将使用CSS的animation属性和一系列的keyframes.

这样有助于创建通用的动画在CSS和重用它们。简单的动画,如淡入淡出,可以定义一次,在多个地方使用。
为了展示如何定义keyframes,让我们先来创建淡入和淡出的动画。

@keyframes fade-in {  0% { opacity: 0; }  100% { opacity: 1; }}@keyframes fade-out {  0% { opacity: 1; }  100% { opacity: 0; }}
Copier après la connexion

keyframes是一系列的步骤,其定义为百分比。它们可以是任何数量的步骤,但在我们的例子中,我们只定义起始(0%)和结束(100%)的关键帧。在fade-in我们先从不透明度(0),并结束在完全不透明(1)。fade-out的动画则正好相反。

当按钮显示和隐藏的时候,我们可以通过animation属性应用到它们上。

.show-card { animation: fade-in 0.4s 1s forwards ease-out; }.show-card.hide { animation: fade-out 0.4s forwards ease-out; }
Copier après la connexion

animation属性这里告诉卡片去使用fade-in动画,持续时间为0.4秒,延迟1秒。动画结束后会保持最后时刻的状态(forwards)并且使用ease-out的时间曲线。

当.hide类被在button上起作用的时候,就轮到fade-out动画出场了。

有弹性效果的时间曲线

第一部分我们将介绍的是图标栏。因为这是链接的位置,我们希望它突出,让人们首先关注到。

我们可以通过使用具有时间曲线的属性创建有趣的效果。这里,我们将使用一个cubic-bezier在图标出现的时候添加一些“反弹”效果。

首先,我们将创建一些简单的关键帧,使图标栏有高度逐渐变大的效果。

@keyframes show-icon-bar {  0% { height: 0; }  100% { height: 4.5em; }}
Copier après la connexion

现在当show类被添加到图标栏上的时候,我们可以看到这组关键帧的效果。

.card.show .icon-bar { animation: show-icon-bar .5s forwards cubic-bezier(.64,1.87,.64,.64); }
Copier après la connexion

弹性的效果是通过使用cubic-bezier方法创建的。时间性方法描述一整个个动画变化的速度。可以设计成超出动画的开始和结束的范围,这里指高度。通过这种方法创建一个反弹动画。

动画延迟

介绍了图标栏的实现,接下来我们讨论细节和头像部分的动画。我们希望这一部分出现在图标栏显示以后,为了实现这一目标,我们将使用animation-delay属性。

.card.show .details { animation: show-detail-container 0.7s 0.5s forwards cubic-bezier(.54,-0.38,.34,1.42); }
Copier après la connexion

施加到details部分的动画被设置为持续时间为0.7秒,并且延迟 0.5秒。这意味着动画将会在图标栏出现之后
启动。

我们依旧使用了贝塞尔时间方法在这里给它一些反弹。

接下来,我们定义的容器关键帧的动画。

@keyframes show-detail-container {  0% { height: 0; }  100% { height: 13.5em; }}
Copier après la connexion

在show-detail-container动画关键帧开始与容器无形为零的高度,并以动画的形式全部撑开。同样使用cubic-bezier,使动画有反弹。

合并多个动画

多个动画可以在一个同一属性里应用。只要动画彼此不冲突,它们可被用于添加到细微的动画。多个动画的定义,就像一个动画,以逗号分隔。

在这个例子中,我们会在头像,名称和描述的内容上使用淡入动画,而在同一时间使用弹出式功能,使他们有放大的效果。

如果我们使用一个单一的动画,都使用cubic-bezier效果,淡入淡出的效果会出现反弹,并看起来很奇怪。所以,我们将在淡入淡出上使用普通线性效果,而缩放带有反弹的效果。

首先我们定义弹出pop-in的关键帧。

@keyframes pop-in {  0% { transform: scale(0.7); }  100% { transform: scale(1); }}   
Copier après la connexion

它使用scale改造让每个元素开始小,扩展至正常大小。

让我们带到内容里面内容。每个元件具有两个动画,并且每个元件都具有稍长的动画延迟来错开。

.card.show .headshot img { animation: fade-in 0.4s 1.2s forwards, pop-in 0.6s 1.2s forwards cubic-bezier(.64,1.87,.64,.64); }.card.show .name { animation: fade-in 0.3s 1.3s forwards, pop-in 0.3s 1.3s forwards cubic-bezier(.64,1.87,.64,.64); }.card.show .description { animation: fade-in 0.3s 1.4s forwards, pop-in 0.3s 1.4s forwards cubic-bezier(.64,1.87,.64,.64); }
Copier après la connexion

关闭图标

关闭图标动画使用我们前面定义的fade-in关键帧来实现淡入。

.card.show .close { animation: fade-in 0.3s 1.3s forwards; }
Copier après la connexion

采取行动的时候到了

我们现在只需要展现社交的图标了。当呈现动画的时候,观众的注意力将会集中在动画结束的地方。这意味着观众眼睛会跟着动画,最后落在我们希望他们选择的图标上面。(阴谋…)

我们会再次使用这些动画的延迟属性,以确保它们是最后出现的。首先,我们定义一个动画图标的关键帧:

@keyframes show-icon {  0% { opacity: 0; transform: rotateZ(-40deg); }  100% { opacity: 1; transform: rotateZ(0); }}
Copier après la connexion

每个图标在淡入会旋转一点点,我们现在可以把该动画附到每个图标上,使用延迟错开它们。

.card.show .icon-bar li { animation: show-icon 0.5s forwards cubic-bezier(.64,1.87,.64,.64); }.card.show .icon-bar li:nth-child(1) { animation-delay: 1.8s; }.card.show .icon-bar li:nth-child(2) { animation-delay: 1.9s; }.card.show .icon-bar li:nth-child(3) { animation-delay: 2s; }
Copier après la connexion

把这些放在一起,我们现在有个一点击按钮就弹出非常漂亮的社交卡片。

最后再说一点

最后,我们需要添加一个hide行动来用动画把关闭按钮和卡片关闭了。首先,我们将更新的JavaScript。在按下关闭图标时,JavaScript等待一秒钟,然后使用display: none在关闭卡片。

$('.show-card').click(function(e) {  $('.card').addClass('show').css('display', 'block');  $('.show-card').addClass('hide');});$('.card .close').click(function(e) {  $('.card').addClass('hide');  setTimeout(function() {    $('.card').css('display', 'none').removeClass('show').removeClass('hide');  }, 1000);  $('.show-card').removeClass('hide');});
Copier après la connexion

这给我们一秒钟的时间来操作卡片 - 我们让它掉到屏幕的底部。实现这一目标的关键帧,如下所示:

@keyframes drop-card {  100% { bottom: -100%; transform: rotateZ(20deg); opacity: 0; }}
Copier après la connexion

然后,我们把动画加到卡上。

.card.hide { animation: drop-card 1s forwards cubic-bezier(.54,-0.38,.34,1.42); }
Copier après la connexion

演示

把上面的拼接在一起,你可以看到这样的效果

See the Pen Adding Appeal to Your Animations on the Web by Tuts+ (@tutsplus) on CodePen.

关于前缀和浏览器兼容性的说明

动画的浏览器兼容性很好。不过这还要看你的观众,他们应该属于大部分吧。确保基本显示和隐藏功能工作顺利是很重要的。

总结

通过使用多个动画,尤其是对animation-delay,我们让本来很简单的组件变得更具吸引力。动画通过每个元件引导观众,达到我们的意图。

动画是一个在设计中非常重要的部分。突出重点的方式可以帮助浏览者了解你的意图,以及提高你的工作质量信誉和信心。

本文根据@Donovan Hutchinson所译,整篇译文带有我自己的理解和意思,如果有译得不好的地方或者不对之处,还请大家指点。如需转载此译文,须注明英文出处:http://webdesign.tutsplus.com/tutorials/adding-appeal-to-your-animations-on-the-web?cms-23649

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel est le but du & lt; Progress & gt; élément? Quel est le but du & lt; Progress & gt; élément? Mar 21, 2025 pm 12:34 PM

L'article traite du HTML & lt; Progress & GT; élément, son but, son style et ses différences par rapport au & lt; mètre & gt; élément. L'objectif principal est de l'utiliser & lt; Progress & gt; pour l'achèvement des tâches et & lt; mètre & gt; pour stati

Quel est le but du & lt; datalist & gt; élément? Quel est le but du & lt; datalist & gt; élément? Mar 21, 2025 pm 12:33 PM

L'article traite du HTML & lt; Datalist & GT; élément, qui améliore les formulaires en fournissant des suggestions de saisie semi-automatique, en améliorant l'expérience utilisateur et en réduisant les erreurs. COMMANDE COMPRES: 159

Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Mar 17, 2025 pm 12:20 PM

L'article examine les meilleures pratiques pour assurer la compatibilité des navigateurs de HTML5, en se concentrant sur la détection des fonctionnalités, l'amélioration progressive et les méthodes de test.

Quel est le but du & lt; mètre & gt; élément? Quel est le but du & lt; mètre & gt; élément? Mar 21, 2025 pm 12:35 PM

L'article traite du HTML & lt; mètre & gt; élément, utilisé pour afficher des valeurs scalaires ou fractionnaires dans une plage, et ses applications courantes dans le développement Web. Il différencie & lt; mètre & gt; De & lt; Progress & gt; et ex

Comment utiliser le html5 & lt; time & gt; élément pour représenter les dates et les temps sémantiquement? Comment utiliser le html5 & lt; time & gt; élément pour représenter les dates et les temps sémantiquement? Mar 12, 2025 pm 04:05 PM

Cet article explique le html5 & lt; time & gt; élément de représentation sémantique de date / heure. Il souligne l'importance de l'attribut DateTime pour la lisibilité à la machine (format ISO 8601) à côté du texte lisible par l'homme, stimulant AccessIbilit

Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Mar 17, 2025 pm 12:27 PM

L'article discute de l'utilisation des attributs de validation de formulaire HTML5 comme les limites requises, motifs, min, max et longueurs pour valider la saisie de l'utilisateur directement dans le navigateur.

Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Mar 20, 2025 pm 05:56 PM

L'article traite de la balise Meta de la fenêtre, essentielle pour la conception Web réactive sur les appareils mobiles. Il explique comment une utilisation appropriée garantit une mise à l'échelle optimale du contenu et une interaction utilisateur, tandis que la mauvaise utilisation peut entraîner des problèmes de conception et d'accessibilité.

Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Mar 20, 2025 pm 06:05 PM

L'article traite du & lt; iframe & gt; L'objectif de Tag dans l'intégration du contenu externe dans les pages Web, ses utilisations courantes, ses risques de sécurité et ses alternatives telles que les balises d'objet et les API.

See all articles