ホームページ >ウェブフロントエンド >CSSチュートリアル >CSSのクリップ属性とは何ですか? Clip:rect() は円形のプログレス バー アニメーションを作成します (コード例)
この章では、CSS のクリップ属性とは何なのかについて説明します。 Clip:rect() は、円形のプログレス バー アニメーション (コード例) を作成し、clip 属性とは何か、clip:rec() の使用法を紹介し、最後に例を使用して、clip:rect() をより直感的に理解できるようにします。 。困っている友人は参考にしていただければ幸いです。
1. CSS のクリップ属性とは何ですか?
clip プロパティは、絶対的に配置された要素をクリップします。クリップ属性を使用すると、要素の表示サイズを定義できます。画像が含まれる要素のサイズよりも大きい場合、画像は切り取られ、要素によって定義された形状として表示されます。
1. 文法
img { position:absolute; clip:rect(0px,60px,200px,0px); }
コード例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> .demo{ width: 200px; height: 500px; margin: 50px auto; } img{ border: 1px solid #000; } .img { position:absolute; clip:rect(0px,165px,200px,34px); } </style> </head> <body> <div class="demo"> <h4>原图:</h4> <img src="css.jpg" style="max-width:90%" style="max-width:90%" / alt="CSSのクリップ属性とは何ですか? Clip:rect() は円形のプログレス バー アニメーションを作成します (コード例)" > <h4>裁剪后</h4> <img class="img" src="css.jpg" style="max-width:90%" style="max-width:90%" / alt="CSSのクリップ属性とは何ですか? Clip:rect() は円形のプログレス バー アニメーションを作成します (コード例)" > </div> </body> </html>
レンダリング:
0px Clip:rect(0px, 165px, 200px, 34px) の 、165px、200px、および 34px は、それぞれ画像の上、右、下、左の方向に対応します。clip:rect() は、position 属性とともに使用する必要があります。画像を調整する カットをします。
注:
要素が最初に「overflow:visible」で定義されている場合、clip 属性は機能しません。
2. ユーザビリティの非表示
上記の右上下左の説明によると、左>=右または下2. css3 を使用して円形のプログレス バー アニメーションを作成します (css3 アニメーションは、clip:rect() と組み合わせて使用されます)
では、最初にローディング効果を見てください。 画像: コード例:<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>css3制作圆形进度条动画</title> <style> * { margin: 0; padding: 0; } body { overflow-x: hidden; overflow-y: scroll; font-family: MuseoSans, Georgia, "Times New Roman", Times, serif; font-size: 13px; color: #444; border-top: 3px solid #444; background-color: #E4E6E5; overflow-x: hidden; } section .demo { width: 530px; margin: 15em auto; overflow: hidden; } ul.notes { clear: both; } ul.notes li { float: left; margin-right: 3em; display: inline; } ul.notes li:last-child { margin: 0; } ul.notes li span.skill { display: block; text-align: center; padding: 10px 0; text-shadow: 1px 0 0 #FFFFFF; } .notesite { display: inline-block; position: relative; width: 1em; height: 1em; font-size: 5.4em; cursor: default; } .notesite>.percent { position: absolute; top: 20px; left: 0; width: 100%; font-size: 25px; text-align: center; z-index: 2; } .notesite>.percent .dec { font-size: 15px; } .notesite>#slice { position: absolute; width: 1em; height: 1em; clip: rect(0px, 1em, 1em, 0.5em); } .notesite>#slice.gt50 { clip: rect(auto, auto, auto, auto); } .notesite>#slice>.pie { position: absolute; border: 0.1em solid #444; width: 0.8em; height: 0.8em; -moz-border-radius: 0.5em; -webkit-border-radius: 0.5em; border-radius: 0.5em; -webkit-animation: craw 2s linear; -webkit-animation-iteration-count: 1; } @-webkit-keyframes craw { 0% { clip: rect(0em, 1em, 0em, 0.5em); } 50% { clip: rect(0em, 1em, 1em, 0.5em); -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { clip: rect(0em, 1em, 1em, 0em); -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); } } li.html .notesite>#slice>.pie { border-color: #DF6C4F; } .notesite.fill>.percent { display: none; } li.html .notesite:before { background: #DF6C4F; } </style> </head> <body class="home"> <div class="wrapper"> <section> <div class="demo"> <ul class="notes"> <li class="html"> <div class="notesite" id="note_0" dir="100"> <div class="percent"></div> <div id="slice" class="gt50"> <div class="pie fill"> </div> </div> </div><span class="skill">HTML</span> </li> </ul> </div> </section> </div> </body> </html>アイデア: 1. まず正方形の境界線を描画します 2. border-radius 属性を使用して円にします (互換性を考慮して)
-moz-border-radius: 0.5em; -webkit-border-radius: 0.5em; border-radius: 0.5em;
@-webkit-keyframes craw { 0% { clip: rect(0em, 1em, 0em, 0.5em); } 50% { clip: rect(0em, 1em, 1em, 0.5em); -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { clip: rect(0em, 1em, 1em, 0em); -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); } }
以上がCSSのクリップ属性とは何ですか? Clip:rect() は円形のプログレス バー アニメーションを作成します (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。