看一下这个横幅:
http://schart.net/newbanas.png
我可以使用CSS制作这种条纹图案吗?我想要改变容器的宽度,所以它应该是CSS。
我正在制作一个投资组合,我想用这种背景来梳理各个部分。
答案 0 :(得分: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
。这附带了它自己的一套恩赐,你选择哪一个取决于目的!倾斜边块元素方法在一个很好的教程中提供:http://davidwalsh.name/css-triangles
如果你真的想了解它背后的魔力,Lea Verou在她的博客上有一篇很好的文章:http://lea.verou.me/2010/12/checkered-stripes-other-background-patterns-with-css3-gradients/
答案 1 :(得分: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,但它没有。