0

このバナーを見てください:

http://schart.net/newbanas.png

この縞模様をCSSで作れますか?これでコンテナの幅を変更したいので、CSS にする必要があります。

ポートフォリオを作っていて、このスタイルの背景でセクションを整理したいと思っています。

4

2 に答える 2

5

はい、できます。

最も簡単/迅速な方法は、 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 のブログに良い記事があります。グラデーション/

于 2012-09-11T19:28:06.143 に答える
3

私はこのコンセプトがとても好きなので、基本的にそれを複製しました:

ここに画像の説明を入力

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 で動作するはずですが、動作しません。

于 2012-09-11T19:48:23.703 に答える