我想问你有关的建议,如何使用CSS样式上面的图片背景,什么是最好的做法。
我通过我的设计得到了布局,这是一个背景 - 有银颜色为白色(从上到下)渐变,带有边框相同。
左上角和右上角四舍五入(就像3px)。
我试图找到最有效的方法,如何编写这个东西,可惜还是无法找到最好的办法......
我想问你有关的建议,如何使用CSS样式上面的图片背景,什么是最好的做法。
我通过我的设计得到了布局,这是一个背景 - 有银颜色为白色(从上到下)渐变,带有边框相同。
左上角和右上角四舍五入(就像3px)。
我试图找到最有效的方法,如何编写这个东西,可惜还是无法找到最好的办法......
我最喜欢去CSS3造型的地方是CSS3Please。他们使用类,如:
.box_round {
-webkit-border-radius: 3px; /* Saf3-4, iOS 1-3.2, Android ≤1.6 */
-moz-border-radius: 3px; /* FF1-3.6 */
border-radius: 3px; /* Opera 10.5, IE9, Saf5, Chrome, FF4, iOS 4, Android 2.1+ */
/* useful if you don't want a bg color from leaking outside the border: */
-moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
.box_gradient {
background-color: #444444;
background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#999999)); /* Saf4+, Chrome */
background-image: -webkit-linear-gradient(top, #444444, #999999); /* Chrome 10+, Saf5.1+, iOS 5+ */
background-image: -moz-linear-gradient(top, #444444, #999999); /* FF3.6 */
background-image: -ms-linear-gradient(top, #444444, #999999); /* IE10 */
background-image: -o-linear-gradient(top, #444444, #999999); /* Opera 11.10+ */
background-image: linear-gradient(to bottom, #444444, #999999);
}
基于在评论你的渐变边界问题,你也可以使用箱阴影来模拟边界:
.box_shadow {
-webkit-box-shadow: 0px 0px 4px 0px #ffffff; /* Saf3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
-moz-box-shadow: 0px 0px 4px 0px #ffffff; /* FF3.5 - 3.6 */
box-shadow: 0px 0px 4px 0px #ffffff; /* Opera 10.5, IE9, FF4+, Chrome 6+, iOS 5 */
}
这看起来非常好,而且工作得很好,谢谢!但是只有一个问题 - 可以在渐变中添加左右边框,并在这些边框上使用渐变? – user984621 2012-04-19 19:28:10
[CSS3 Gradient Borders](http://stackoverflow.com/q/2717127/682480)将会是你正在寻找的。 – 2012-04-19 19:55:13
你的元素用css:
.gradient-bg {
/* fallback/image non-cover color */
background-color: /*start color*/;
/* fallback image */
background-image: url(images/fallback-gradient.png);
/* Safari 4+, Chrome 1-9 */
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(/*start color*/), to(/*end color*/));
/* Safari 5.1+, Mobile Safari, Chrome 10+ */
background-image: -webkit-linear-gradient(top, /*start color*/, /*end color*/);
/* Firefox 3.6+ */
background-image: -moz-linear-gradient(top, /*start color*/, /*end color*/);
/* IE 10+ */
background-image: -ms-linear-gradient(top, /*start color*/, /*end color*/);
/* Opera 11.10+ */
background-image: -o-linear-gradient(top, /*start color*/, /*end color*/);
-moz-border-radius-topleft: /*pixel radius*/;
-moz-border-radius-topright:/*pixel radius*/;
-webkit-border-top-left-radius: /*pixel radius*/;
-webkit-border-top-right-radius: /*pixel radius*/;
}
下面是一个类似代码的示例:http://jsfiddle.net/developdaly/WebMT/ – developdaly 2012-04-19 17:28:07
看起来不错,谢谢! – user984621 2012-04-19 19:28:21
你需要使用边界半径规则。你可以在w3c上了解它。请参阅http://jsbin.com/aresif/edit#html,live。 随意玩弄它。
div.someClassName {
background-image: url("YourImageGoesHere.jpg");
background-repeat: repeat-x;
border: 1px solid red;
border-radius: 1em 1em 0 0;
}
稍向优化
即图像似乎是一个简单的垂直梯度。没有意义,因为在CSS中,您可以使用background-repeat规则重复背景图像。你可以在w3c上阅读。我首先将该图像改为1px宽的图像。由于浏览器无需下载较大的图片,因此这会让您的网页加载速度稍微快一点。
为什么要使用图片,而不是各种渐变CSS3标签? – Jlange 2012-04-19 17:42:47
如果您没有找到最佳方法,您尝试了哪些方法? – Dutchie432 2012-04-19 17:26:31