欢迎光临
我们一直在努力

使用纯CSS代码创建图标

编写网页的代码布局,一般都是矩形的区域,但是有时候我们需要有一个三角形的箭头,除了使用常规的方法比如背景图片以外,我们还可以使用CSS代码来创建三角形。 很少有人意识到盒子的边界是一层一层向外扩展的,利用这样一种方式,我们设置
一侧的边界是彩色箭头的颜色,其余的都是透明的这样就,能创建出一个三角形,设置不同的border-width,可以创建出各种角度的三角形。 使用纯CSS代码创建三角形
例如下面的代码,我们使用简单的CSS样式,创建除了一个彩色边框的DIV盒子。

.css-arrow-multicolor {
border-color: red green blue orange;
border-style:solid;
border-width:20px;
width:0;
height:0;
}
 

正如你所看到的,三角形的四条边设置了不同的颜色。 这些三角形是直角三角形稍加调整边界大小你可以急性三角形。

.css-arrow-acute {
border-color: red green blue orange;
border-style:solid;
border-width:25px 10px 15px 30px;
width:0;
height:0;
}
 

带着一点创造力和扭转,有很多形状,我们可以提出。
border-style:dotted;定义点状边框。在大多数浏览器中呈现为实线。

 

border-style:dashed;定义虚线。在大多数浏览器中呈现为实线。

 

border-style:outset;定义 3D outset 边框。其效果取决于 border-color 的值。

 

border-style:inset;定义 3D inset 边框。其效果取决于 border-color 的值。

 

border-style:ridge;定义 3D 垄状边框。其效果取决于 border-color 的值。

 

border-style:groove;定义 3D 凹槽边框。其效果取决于 border-color 的值。

 

border-style:double;定义双线。双线的宽度等于 border-width 的值。

 

这是一个典型的聊天消息提示气泡效果,没有使用任何的背景图片。 Buongiorno !

Buongiorno!

 
 
<div class="chat-bubble">
Buongiorno!
<div class="chat-bubble-arrow-border"></div>
<div class="chat-bubble-arrow"></div>
</div>
.chat-bubble {
background-color:#EDEDED;
border:2px solid #666666;
font-size:35px;
line-height:1.3em;
margin:10px auto;
padding:10px;
position:relative;
text-align:center;
width:300px;
-moz-border-radius:10px;
-webkit-border-radius:10px;
-moz-box-shadow:0 0 5px #888888;
-webkit-box-shadow:0 0 5px #888888;
}
.chat-bubble-arrow-border {
border-color: #666666 transparent transparent transparent;
border-style: solid;
border-width: 10px;
height:0;
width:0;
position:absolute;
bottom:-22px;
left:30px;
}
.chat-bubble-arrow {
border-color: #EDEDED transparent transparent transparent;
border-style: solid;
border-width: 10px;
height:0;
width:0;
position:absolute;
bottom:-19px;
left:30px;
}

这种三角形技术在ie6里面显示会有一点问题,主要是因为ie6不允许透明的边界,但有一个修复的方法。 你需要做的就是给“透明”一边设置完全不同的颜色像粉红色,然后使用过滤器:_filter:
chroma(color=pink);。

/* IE6 */
.chat-bubble-arrow {
_border-left-color: pink;
_border-bottom-color: pink;
_border-right-color: pink;
_filter: chroma(color=pink);
}

本文CSS

      .css-arrow-multicolor {
        border-color: red green blue orange;
        border-style: solid;
        border-width: 20px;
        width: 0;
        height: 0;
    }

    .css-arrow-acute {
        border-color: red green blue orange;
        border-style: solid;
        border-width: 25px 10px 15px 30px;
        width: 0;
        height: 0;
    }

    .chat-bubble {
        background-color: #EDEDED;
        border: 2px solid #666666;
        font-size: 35px;
        line-height: 1.3em;
        margin: 10px auto;
        padding: 10px;
        position: relative;
        text-align: center;
        width: 300px;
        -moz-border-radius: 10px;
        -webkit-border-radius: 10px;
        -moz-box-shadow: 0 0 5px #888888;
        -webkit-box-shadow: 0 0 5px #888888;
    }

    .chat-bubble-arrow-border {
        border-color: #666666 transparent transparent transparent;
        border-style: solid;
        border-width: 10px;
        height: 0;
        width: 0;
        position: absolute;
        bottom: -22px;
        left: 30px;
    }

    .chat-bubble-arrow {
        border-color: #EDEDED transparent transparent transparent;
        border-style: solid;
        border-width: 10px;
        height: 0;
        width: 0;
        position: absolute;
        bottom: -19px;
        left: 30px;
    }

    /* IE6 */
    .chat-bubble-arrow {
        _border-left-color: pink;
        _border-bottom-color: pink;
        _border-right-color: pink;
        _filter: chroma(color=pink);
    }

    .mybox {
        margin: 0px;
        padding: 0px;
        border-color: red green blue orange;
        border-width: 20px;
        width: 0px;
        height: 0px;
        color: #464646;
        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
        font-size: 15px;
        line-height: 27px;
        background-color: #f5f4f0;
    }
赞(0)
版权归原作者所有,如有侵权请告知。达维营-前端网 » 使用纯CSS代码创建图标

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址