鋸歯状の背景を繰り返すCSS





ハブでは長い間、CSSに関する投稿がなかったため、このギャップを埋めることにしました。 今日は画像のみではなくCSSのみを使用してギザギザの背景を作成する方法を学習しています!



そのようなフェンスの重要な要件:





サポートされているブラウザー:Chrome、Firefox(> 3.6)、Opera(> = 12)、Safari(> = 5)、IE10。



IE 7、8では、通常の塗りつぶしとしてフォールバックがあります。 しかし、IE9には問題があります-グラデーションをサポートしていませんが、hslaとrgbaの色を理解しています。 本当に「素晴らしい」ブラウザ。 さて、今のところ無視する必要があります。 誰かがIEの良い代替品を教えてくれたら、感謝するだけです。



さあ、始めましょう。



スカラップエッジは、互いに重なり合う2つの三角形で構成されます。







background-image: linear-gradient(to bottom right, transparent 50.5%, lightblue 50.5%), linear-gradient(to bottom left, transparent 50.5%, lightblue 50.5%); /* 50.5%,      */ background-repeat: repeat-x, repeat-x; background-position: 10px 0, 10px 0; /*      */ background-size: 20px 20px, 20px 20px;
      
      







不快な瞬間をすべて隠すには、単色の上に置くだけです。



 border-top: 10px solid transparent; /*     */ background-image: linear-gradient(lightblue, skyblue), /*   ,         */ linear-gradient(to bottom right, transparent 50.5%, lightblue 50.5%), linear-gradient(to bottom left, transparent 50.5%, lightblue 50.5%); background-repeat: repeat, repeat-x, repeat-x; background-position: 0 0, 10px 0, 10px 0; background-size: auto auto, 20px 20px, 20px 20px; background-clip: padding-box, border-box, border-box; /*      */ background-origin: padding-box, border-box, border-box, border-box, border-box; /*     ,      */
      
      







まあ、それだけです。 下から同じ歯を追加することが残っています。



 border-top: 10px solid transparent; background-image: linear-gradient(lightblue, skyblue), linear-gradient(to bottom right, transparent 50.5%, lightblue 50.5%), linear-gradient(to bottom left, transparent 50.5%, lightblue 50.5%), linear-gradient(to top right, transparent 50.5%, skyblue 50.5%), linear-gradient(to top left, transparent 50.5%, skyblue 50.5%); background-repeat: repeat, repeat-x, repeat-x, repeat-x, repeat-x; background-position: 0 0, 10px 0, 10px 0, 10px 100%, 10px 100%; background-size: auto auto, 20px 20px, 20px 20px, 20px 20px, 20px 20px; background-clip: padding-box, border-box, border-box, border-box, border-box; background-origin: padding-box, border-box, border-box, border-box, border-box;
      
      







フォールバックを忘れないでください:



 background-color: lightblue; background-color: hsla(0, 0%, 0%, 0);
      
      







その結果、好きなだけ伸ばせる歯のあるブロックができました。 擬似要素は関与しません。たとえば、側面に同じ歯を追加するために使用できます。



デモ



All Articles