CSS如何使图标看起来像在后台

时间:2014-01-22 12:18:46

标签: html css icons photoshop

我不知道如何解释这个,如果这是一个设计问题,请纠正我。查看以下facebook标题。enter image description here

那位朋友请求图标和排序看起来像是在后台,我该如何用css做这个?

4 个答案:

答案 0 :(得分:1)

您可以使用box-shadow完成排序按钮样式 - 并插入以获取按钮内的阴影。以及border-radius用于围绕角落。

<强> HTML

<a href="#" class="button">button</a>

<强> CSS

body { background:#4b669d; padding:40px; 
       font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;}

a { 
    display:inline-block; 
    font-size:12px;
    padding:0 20px;
    margin:10px;
    height:30px; 
    background:#435c91; 
    border:1px solid #2a3349; 
    text-align:center;
    color:#fff;
    line-height:26px;
    text-decoration:none;

     border-radius:5px;

/* this is the inner shadow and drop shadow */    
-webkit-box-shadow:inset 0 0 3px 2px rgba(0,0,0,0.15), 1px 1px 0px 1px rgba(255,255,255,0.3);
box-shadow:inset 0 0 3px 2px rgba(0,0,0,0.15), 1px 1px 1px 0px rgba(255,255,255,0.3);

/* gradient - from http://www.colorzilla.com/gradient-editor/ */
background: rgb(93,114,163); /* Old browsers */
background: -moz-linear-gradient(top, rgba(93,114,163,1) 0%, rgba(46,72,128,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(93,114,163,1)), color-stop(100%,rgba(46,72,128,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(93,114,163,1) 0%,rgba(46,72,128,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(93,114,163,1) 0%,rgba(46,72,128,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(93,114,163,1) 0%,rgba(46,72,128,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(93,114,163,1) 0%,rgba(46,72,128,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5d72a3', endColorstr='#2e4880',GradientType=0 ); /* IE6-9 */
}

显然它需要更多调整,但希望这应该是一个起点。

JSFiddle Demo 2 - 现在也有渐变背景和投影。

http://jsfiddle.net/53fWz/6/

答案 1 :(得分:1)

你可以做这样的事情(只是鞭打它,所以它并不完美)。

我使用了您提供的Facebook图片中的颜色。

这是我做的:

HTML:

<div id="container">
    <div id="inset"></div>
</div>

CSS:

#container{
    height:200px;
    width:200px;
    background:#48639b;
}

#inset{
    background:#31497e;
    height:50px;
    width:50px;
    box-shadow:inset 0px 0px 5px #1f2f50;
}

JSFiddle - 尝试一个

JSFiddle - 尝试两个

JSFiddle是一些额外的样式,可以将#inset更多地放入容器中,但它们不会影响插图的覆盖样式。

答案 2 :(得分:1)

使用多个框阴影来提供浮雕效果。

box-shadow:inset 0 1px 1px rgba(0,0,0,0.7), 0 1px 0 rgba(255,255,255,0.3);

http://jsfiddle.net/Em97N/2/

答案 3 :(得分:0)

您应该使用比前景更暗的颜色为图像着色。设计简单。也许在它周围添加一个黑色边框。