このバナーを見てください:
http://schart.net/newbanas.png
この縞模様をCSSで作れますか?これでコンテナの幅を変更したいので、CSS にする必要があります。
ポートフォリオを作っていて、このスタイルの背景でセクションを整理したいと思っています。
このバナーを見てください:
http://schart.net/newbanas.png
この縞模様をCSSで作れますか?これでコンテナの幅を変更したいので、CSS にする必要があります。
ポートフォリオを作っていて、このスタイルの背景でセクションを整理したいと思っています。
はい、できます。
最も簡単/迅速な方法は、 http://colorzilla.com/gradient-editorのようなジェネレーターを使用することです。
たとえば、このジェネレーターを使用して作成されたサンプルのフィドルは次のとおりです: http://jsfiddle.net/pratik136/VYRe2/
これもかなりクロスブラウザです!
HTML
<!--[if gte IE 9]>
<style type="text/css">
.gradient {
filter: none;
}
</style>
<![endif]-->
<div class="stripey gradient">TEST GRADIENT</div>
CSS
.stripey{
background: #ff7577; /* Old browsers */
/* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZmY3NTc3IiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMzQlIiBzdG9wLWNvbG9yPSIjZmY3NTc3IiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMzQlIiBzdG9wLWNvbG9yPSIjMjA3Y2NhIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMzQlIiBzdG9wLWNvbG9yPSIjMjk4OWQ4IiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iNjklIiBzdG9wLWNvbG9yPSIjMjk4OWQ4IiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iNjklIiBzdG9wLWNvbG9yPSIjN2RiOWU4IiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iNjklIiBzdG9wLWNvbG9yPSIjZWFlY2ZmIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2VhZWNmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
background: -moz-linear-gradient(-45deg, #ff7577 0%, #ff7577 34%, #207cca 34%, #2989d8 34%, #2989d8 69%, #7db9e8 69%, #eaecff 69%, #eaecff 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,#ff7577), color-stop(34%,#ff7577), color-stop(34%,#207cca), color-stop(34%,#2989d8), color-stop(69%,#2989d8), color-stop(69%,#7db9e8), color-stop(69%,#eaecff), color-stop(100%,#eaecff)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(-45deg, #ff7577 0%,#ff7577 34%,#207cca 34%,#2989d8 34%,#2989d8 69%,#7db9e8 69%,#eaecff 69%,#eaecff 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(-45deg, #ff7577 0%,#ff7577 34%,#207cca 34%,#2989d8 34%,#2989d8 69%,#7db9e8 69%,#eaecff 69%,#eaecff 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(-45deg, #ff7577 0%,#ff7577 34%,#207cca 34%,#2989d8 34%,#2989d8 69%,#7db9e8 69%,#eaecff 69%,#eaecff 100%); /* IE10+ */
background: linear-gradient(135deg, #ff7577 0%,#ff7577 34%,#207cca 34%,#2989d8 34%,#2989d8 69%,#7db9e8 69%,#eaecff 69%,#eaecff 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff7577', endColorstr='#eaecff',GradientType=1 ); /* IE6-8 fallback on horizontal gradient */
}
それを行う別の方法はdiv
、傾斜した境界線を持つ正確に配置された s を使用することです。これには独自のブーンとベインのセットが付属しているため、どちらを選択するかは目的に大きく依存します! 斜めエッジのブロック要素法は、こちらの優れたチュートリアルで紹介されています: http://davidwalsh.name/css-triangles
その背後にある魔法について実際に学びたい場合は、Lea Verou のブログに良い記事があります。グラデーション/
私はこのコンセプトがとても好きなので、基本的にそれを複製しました:
CSS は多少複雑ですが、基本的には:before
疑似:after
要素と を使用して三角形を作成しました。
body {
background: #EEEEEE;
}
.stripe {
display: inline-block;
position: relative;
font-family: 'Source Sans Pro', sans-serif;
font-size: 72px;
height: 130px;
line-height: 130px;
-webkit-transition: 0.2s all;
-moz-transition: 0.2s all;
cursor: pointer;
}
.red {
color: white;
background: #CD3333;
border-color: #CD3333;
}
.red:hover {
background: #d24747;
border-color: #d24747;
}
.blue {
color: white;
background: #6495CA;
border-color: #6495CA;
}
.blue:hover {
background: #77a2d0;
border-color: #77a2d0;
}
.stripe:after, .stripe:not(:first-child):before {
content: '';
display: block;
position:absolute;
top: 0;
right: -50px;
bottom: auto;
left: auto;
border-style: solid;
border-width: 0 0 130px 50px;
border-color: transparent inherit;
}
.stripe:not(:first-child) {
margin-left: 45px;
}
.stripe:first-child {
padding-left: 10px;
}
.stripe:not(:first-child):before {
left: -50px;
right: auto;
-webkit-transform: rotate(-180deg);
-moz-transform: rotate(-180deg);
}
デモ: http://jsfiddle.net/Nq35k/19/
WebKit ブラウザーでのみ機能します。Firefox で動作するはずですが、動作しません。