zoukankan      html  css  js  c++  java
  • 纯CSS3实现自定义涂鸦风格的边框

    今天我们要来分享一款基于纯CSS3的自定义边框应用,看上去它像一个Tooltip控件,因为下边框有一个小三角,就像很多地方的引用文本框一样。另外这款CSS3边框是涂鸦风格的,看起来很有个性。用CSS3实现自定义边框的好处是可以自适应边框内部的文字数量大小。

    pure-css3-border

    下面我们来分享一下实现的方法,主要由HTML代码和CSS代码组成。

    HTML代码:

    <div>
        <div>
            <div>CSS3简单实现涂鸦风格边框 Welcome to</div>
        </div>
    </div>

    HTML代码结构非常简单,仅仅是3个div组成,当然后面的CSS代码才是关键,我们一步步来解说一下。

    CSS代码:

    复制代码
    复制代码
    .wrap {
        padding:35px 25px;
        450px;
        margin:40px auto;
        background:#586786;
        border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
        color:#eee;
        box-shadow:1px 1px 0px rgba(0, 0, 0, .75)
    }
    复制代码
    复制代码

    这个CSS代码定义了最外面的边框,利用border-radius实现边框的圆角效果,同时利用了box-shadow实现类微微的阴影效果,不是很明显,你也可以修个属性值来让阴影变得更加明显一点。

    复制代码
    复制代码
    .box {
        position:relative;
        background:#fff;
        border:solid 5px #fff;
        200px;
        height:100px;
        margin:0 auto;
        border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
        padding:10px;
        color:#666;
        box-shadow:2px 3px 1px rgba(0, 0, 0, .75)
    }
    .box:before {
        content: "";
        position: absolute;
        bottom: -20px;
        left: 60px;
        border: 0;
        border-right- 30px;
        border-bottom- 20px;
        border-style: solid;
        border-color: transparent #fff;
        display: block;
         0;
    }
    复制代码
    复制代码

    这个box类和之前的类似,不过多了一个特性,就是利用CSS3的:before属性实现了下边框的小三角效果,这样就有tooltip的效果了。

    复制代码
    复制代码
    .box .box {
        position:absolute;
        top:5px;
        left:5px;
        180px;
        height:80px;
        border-color:#593207;
        box-shadow:none;
    }
    .box .box:before {
        left: 45px;
        border-color: transparent #593207;
    }
    复制代码
    复制代码

    这是最内部的box,和它外面那层box实现一样,同样利用before属性实现小三角效果。

    其他就是一些边框线颜色和背景颜色的设置,就非常简单了

    知识点:

    border-radius属性的语法及参数

    border-radius: none | <length> {1,4}[/<length>{1,4}] 

    border-radius是一种缩写方法。如果反斜杠符号“/”存在,“/”前面的值是设置元素圆角的水平方向半径,“/”后面的值是设置元素圆角的垂直方向的半径;如果没有“/”,则元素圆角的水平和垂直方向的半径值相等。另外四个值是按照top-left、top-right、bottom-right和bottom-left顺序来设置的,其主要会有以下四种情形出现。

    1)border-radius:<length>{1}设置一个值,top-left、top-right 、bottom-right和bottom-left四个值相等,也就是元素四个圆角效果一样。

    2)border-radius:<length>{2}设置两个值,top-left等于 bottom-right,并且取第一个值;top-right等于bottom-left,并且取第二值。也就是元素的左上角和右下角取第一个值,右上角和左下角取第二个值。

    3)border-radius:<length>{3}设置三个值,第一个值设置top-left,第二个值设置top-right和bottom-left,第三个值设置bottom-right。

    4)border-radius:<length>{4}元素四个圆角取不同的值,第一个值设置top-left,第二个值设置top-right,第三个值设置bottom-right,最后一个值设置bottom-left。

    border-radius的属性参数非常简单,主要包含两个值。

    none:默认值,表示元素没有圆角。

    <length>:由浮点数字和单位标识符组成的长度值。不可以是负值。

    注意 如果要重置元素没有圆角,取值none并无效果,需要将元素的border-radius取值为0。

    border-radius和border属性一样,可以将各个角单独拆分出来。这样border-radius就派生出另外四个子属性,而且它们都是先Y轴再X轴。

    border-top-left-radius:<length>/<length>;定义元素左上角圆角。

    border-top-right-radius:<length>/<length>;定义元素右上角圆角。

    border-bottom-right –radius :<length>/<length>;定义元素右下角圆角。

    border-bottom-left-radius:<length>/<length>;定义元素左下角圆角。

    上面四个子属性取值和border-radius是一样的,只不过水平和垂直方向仅一个值,“/”前面的值为水平方向半径,后面的值为垂直方向半径。如果第二个值省略,元素水平和垂直方向半径,其实就是以“<length>”为半径的四分之一圆。如果任意一个值为“0”,这个角就不是圆角。

  • 相关阅读:
    JDK 1.7.0 安装后,如何配置,以及如何打开JAR文件
    C++中的内存!(转载)堆 栈 全局/static变量区 常量区
    学习.net应该知道什么
    SQL Group By
    编码
    ASP生成静态Html文件技术杂谈
    如何写出优秀的ASP应用
    DropDownList的绑定方法
    如何提高WEB程序的效率
    什么才是提高ASP性能的最佳选择
  • 原文地址:https://www.cnblogs.com/refe/p/5126710.html
Copyright © 2011-2022 走看看