用CSS3实现带小三角形的div框(不用图片)

用CSS3实现带小三角形的div框(不用图片)

现在看到了很多带小三角形的方框,如微信、Mac版的QQ、QQ空间的时间轴等等,在聊天或者是发表的状态的内容外面都有一个带小三角形的矩形框包围着,感觉看着很不错,于是决定亲自动手写一个,我上次用的是偏移背景图片法,那么今天就不用图片,用CSS3实现一下,下面我们来看一下实现代码。

首先我们来看一下CSS3实现三角形原理:其实就是对于transparent的应用

假如html代码是这样的

<div class="arrow-up">
     <!--向上的三角-->
</div>
<div class="arrow-down">
    <!--向下的三角-->
</div>
<div class="arrow-left">
    <!--向左的三角-->
</div>
<div class="arrow-right">
    <!--向右的三角-->
</div>

下面用CSS3分别实现向上、下、左、右的三角形

/*箭头向上*/
.arrow-up {
    width:0;
    height:0;
    border-left:30px solid transparent;
    border-right:30px solid transparent;
    border-bottom:30px solid #fff;
}

 /*箭头向下*/
.arrow-down {
    width:0;
    height:0;
    border-left:20px solid transparent;
    border-right:20px solid transparent;
    border-top:20px solid #0066cc;
}

 /*箭头向左*/
.arrow-left {
    width:0;
    height:0;
    border-top:30px solid transparent;
    border-bottom:30px solid transparent;
    border-right:30px solid yellow;
}

/*箭头向右*/
.arrow-right {
    width:0;
    height:0;
    border-top:50px solid transparent;
    border-bottom: 50px solid transparent;
    border-left: 50px solid green;
}

ok代码整理在一起后,效果大概是这样的:

好了原理我们了解了,那么我们就实战一下吧,来实现带小三角形的div框。

首先,写出html代码:

<div class="entry">
    <div class="entry-trangle"><!--本Div只来实现三角形,无其他作用--></div>
    hello,我出生了<br/>
    hello,我出生了<br/>
    hello,我出生了<br/>
    hello,我出生了<br/>
</div>

挂载有类"entry-trangle"的div只用来实现小三角形。对这个div用css3的transparent实现三角形,然后绝对定位、设置z-index:-1;、margin-left:-19px;,看下面css代码:

<style type="text/css">
    *{margin:0;padding:0;}
    body{
        background:#666;
        font:14px/20px "Microsoft YaHei";
    }
    .entry{
        margin:0 auto;
        margin-top:20px;
        width:280px;
        background:#fff;
        padding:10px;

        /*设置圆角*/
        -webkit-border-radius:5px;
        -moz-border-radius:5px;
        border-radius:5px;
    }
    .entry-trangle{
        position:absolute;
        margin-left:-19px;
        width:0;
        height:0;
        border-top:10px solid transparent;
        border-bottom:10px solid transparent;
        border-right:10px solid #fff;
        z-index:-1;
    }
</style>

border-radius:5px;用来实现圆角;绝对定位、z-index:-1;的目的都是使控制小三角形的div在最底层,不影响父级div里面的内容布局。

好了,我们已经完工了,这是

时间: 2024-10-11 06:13:59

用CSS3实现带小三角形的div框(不用图片)的相关文章

纯css写带小三角对话框

在实际样式中经常会遇到要写类似对话框的样式,而这种样式往往会有一个小三角,如下所示: 那么如何用css写出来呢,其实很简单,先让父元素相对定位,然后运用css的伪类before或after.就可以写个三角形,如果想要带边框的三角形,则可以两个重叠使用.代码如下: <div class="box2"> 纯css写带小三角对话框 </div> .box2{ float:left; position:relative; width:200px; height:100p

CSS3做小三角形

上图是项目得到的图片,代码如下 1 <div class="welcome"> 2 <span>管理员:8888</span> 3 您的登陆时间是:2015/3/17 21:31:39 4 </div> 代码非常简单直接,就是一个登陆信息的展示. 前面的小三角形是用CSS3做的.CSS代码如下: 1 div.welcome:before { 2 content:""; 3 border-width: 10px 0 10

精美的HTML5/CSS3表单 带小图标

今天我们要来分享一款非常精美的HTML5/CSS3表单,准备地说,这是一款经过美化的input输入表单,每一个输入表单都可以定义其两侧的小图标,非常华丽.另外,这款表单应用还采用了3种不同的风格主题,你可以在演示页的菜单栏中选择一种样式.需要高版本的浏览器才能支持. 你也可以在这里在线演示 下面我们来简单分析一下这款表单的源代码,源代码由HTML代码.CSS代码及Javascript代码组成.一共3组样式,我们只对其中一组作解说. HTML代码: <ul data-for="prefix&

带尖角的div

原以为尖角三角形是png图片,原来是可以用css画出来,css3也可以很简单的得到带圆角的div, 大概思路: 1.画出一个带细边框的div 2.使用::before和left:100%在div的右边添加一个height和width为0但是带边框的元素 3.使用::after覆盖before #demo { width: 100px; height: 100px; background-color: #fff; border: 2px rgb(31, 197, 86) solid; border

如何使用CSS实现小三角形效果

如何使用CSS实现小三角形效果:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在众多的网页效果中,都有小三角形效果的应用,能够增加特定应用的美观度,下面就给出一段实例代码,里面介绍了两种实现小三角头效果的方式.代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&

CSS3实现带动画、阴影的表单提示特效

CSS3实现带动画.阴影的表单提示特效,Form表单提示效果,请不要使用IE浏览,否则你会错过很多精彩的效果,在火狐下你会看到,漂亮的带阴影的表单文本框,而且是圆角的,当鼠标点击表单框的时候出现动画的提示效果,相信你看了之后会喜欢的. <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>石家庄标准件</tit

CSSborder制作小三角形

#cssborder制作小三角形 1.原理是CSS盒模型 一个盒子包括: margin+border+padding+content – 上下左右边框交界处出呈现平滑的斜线. 利用这个特点, 通过设置不同的上下左右边框宽度或者颜色可以得到小三角, 小梯形等. – 调整宽度大小可以调节三角形形状. 2.矩形   设置盒子的宽高度, 及上下左右边框 div {     height:20px;     width:20px;     border-color:#FF9600 #3366ff #12a

【推荐】纯CSS3画出小黄人并实现动画效果

前言 前两天我刚发布了一篇CSS3实现小黄人动画的博客,但是实现的CSS3动画是基于我在站酷网找到的一张小黄人的jpg格式图片,并自己用PS抠出需要实现动画的部分,最后才完成的动画效果.但是,其实我的初衷是想体验一下用图片做动画的赶脚,但是找不到素材,才无奈用了最笨的方法来满足自己的需求,本想勉强能看就行了.可是呢,还是抵不住自己内心的完美,于是乎,用了一个晚上用CSS3画出了小黄人再实现类似的动画效果. 正题 OK,大家看一下下面两张图有什么不同: 当然,很多人会说,明显大小不同,嘴巴,头发也

纯CSS3画出小黄人并实现动画效果

原文出处: 郭锦荣 前言 前两天我刚发布了一篇CSS3实现小黄人动画的博客,但是实现的CSS3动画是基于我在站酷网找到的一张小黄人的jpg格式图片,并自己用PS抠出需要实现动画的部分,最后才完成的动画效果.但是,其实我的初衷是想体验一下用图片做动画的赶脚,但是找不到素材,才无奈用了最笨的方法来满足自己的需求,本想勉强能看就行了.可是呢,还是抵不住自己内心的完美,于是乎,用了一个晚上用CSS3画出了小黄人再实现类似的动画效果. 正题 OK,大家看一下下面两张图有什么不同: 当然,很多人会说,明显大