温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在css中绘制特殊图形

发布时间:2021-04-07 16:35:41 阅读:254 作者:Leah 栏目:web开发
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

如何在css中绘制特殊图形?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一、三角形

如何在css中绘制特殊图形

border边框设置

如何在css中绘制特殊图形

代码:

width300px;
height300px;
background: red;
border40px solid black;
border-left-color: blue;
border-bottom-color: yellow;
border-right-color: pink;
border-top-color#008800;

花特殊图形的时候需要将宽高设置成0

效果:

如何在css中绘制特殊图形

代码:

width0;
height0;
background: transparent;
border40px solid black;
border-left-color: blue;
border-bottom-color: yellow;
border-right-color: pink;
border-top-color#008800;

1、等腰三角形:将其他的边的border设置成透明

如何在css中绘制特殊图形

代码:

width:0;
height0;
background: transparent;
border40px solid black;
border-left-color: transparent;
border-bottom-color: yellow;
border-right-color: transparent;
border-top-color: transparent;

2、直角三角形

如何在css中绘制特殊图形

代码:先写出个完整的div,再使用border-***-width:0;来截取三角形

border-top-width/border-bottom-width:0=》就是在中间横着劈开一道,保留上边或者下边

border-left-width/border-right-width:0=》就是在中间竖着劈开一道,保留左边或者右边

.rightAngle{
    width0;
    height0;
    background: transparent;
    border40px solid black;
    border-left-color: blue;
    border-bottom-color: yellow;
    border-right-color: pink;
    border-top-color#008800;
    border-top-width0;
    border-left-width0;
    border-right-color: transparent;
}

3、梯形

彩带图形:

如何在css中绘制特殊图形

代码:

width300px;
height0;
background: transparent;
border40px solid #008800;
border-left-color: transparent;
border-bottom-color: yellow;
border-right-color: transparent;
border-top-color#008800;

梯形:

如何在css中绘制特殊图形

代码:将上面彩带图形的宽度减少,然后将上面的梯形设置为透明

width100px;
height0;
background: transparent;
border40px solid #008800;
border-left-color: transparent;
border-bottom-color#008800;
border-right-color: transparent;
border-top-color: transparent;

总结:通过设置长度和高度,以及设置border的透明度来拼凑成想要的图形 4、圆形

4、图形:

如何在css中绘制特殊图形

代码: 使用border-radius:50%;

.circle{
    width100px;
    height100px;
    border0;
    border-radius50%;
    background-color: orange;
}

5、椭圆

图形:

如何在css中绘制特殊图形

代码:

.ellipse{
    width200px;
    height120px;
    background-color: orange;
    border-top-left-radius50%;
    border-top-right-radius50%;
    border-bottom-left-radius50%;
    border-bottom-right-radius50%;
}

总结:

如何在css中绘制特殊图形

一个display:block的元素设定宽高之后表现为矩形。通过设定border-radius可以得到圆角矩形,圆形和椭圆形。

在使用border-radius时,有几点可能需要注意一下:

  • border-radius,可以分别对4个角进行设定。 例如上图:border-top-left-radius: apx bpx;

  • border-xxx-xxx-radius的两个值分别代表着椭圆长轴和短轴长度的一半,通常简写的时候例如border-top-left-radius: 10px;(border-top-left-radius:10px 10px;) 表明长轴和短轴的长度均为20px,也就是半径为10px的圆形(圆角部分)。

  • 当使用百分比数值时,a 相对于width, b相对于height 6、特殊图形

(1)斜边三角形

图形:

如何在css中绘制特殊图形

代码:先画个等边三角形,然后再转换角度

.beveledTriangle{
    margin50px;
    width0;
    height0;
    border20px solid #2b81af;
    border-top-width40px;
    border-top-color:transparent;
    border-bottom-width40px;
    border-bottom-color: transparent;
    border-left-width0;
    border-right-color#008800;
    border-right-width25px;
    transform-origin:center center;
    transform:rotateY(-180degrotate(-44deg)  ;
}

(2)绘制一条“小尾巴”

图形:

如何在css中绘制特殊图形

代码:

.tail{
    margin50px;
    width100px;
    height70px;
    border-top-right-radius70px 70px;
    border-right:6px solid #000000;
}

总结:当对一个角应用圆角样式, 如果这个角相邻的两个boeder一个有定义而一个无定义 ,那么绘制的结果就是有粗到细的“小尾巴了”

7、绘制QQ图案(取自AlloyTeam案例)

图形:

如何在css中绘制特殊图形

代码:

<a id="qq" href="http://www.alloyteam.com" target="_blank">
    <div class='head'>
        <div class='left eye'>
            <div class="innerLeftEye">
            </div>
        </div>
        <div class='right eye'>
            <div class="innerRightEye">
                <div class="fix"></div>
            </div>
        </div>
        <div class='mouthTopContainer'>
            <div class='mouthTop'></div>
        </div>
        <div class="mouthBottomContainer">
            <div class="mouthBottom"></div>
        </div>
        <div class="lipsContainer">
            <div class="lips">
                <div class="lipShadow left">
                </div>
                <div class="lipShadow right">
                </div>
            </div>
        </div>
    </div>
    <div class="body">
        <div class="innerWrapper">
            <div class="inner">
            </div>
        </div>
        <div class="outterWrapper">
            <div class = 'outter'>
            </div>
        </div>
        <div class="scarf">
            <div class="scarfShadow">
            </div>
            <div class="scarfShadowRight">
            </div>
        </div>
        <div class="scarfEnd">
            <div class="scarfEndShadow">
            </div>
        </div>
    </div>
    <div class="handWrapper">
        <div class="leftHandTopContainer">
            <div class="leftHandTop">
            </div>
        </div>
        <div class="leftHandBottomContainer">
            <div class="leftHandBottom">
            </div>
        </div>
        <div class="rightHandTopContainer">
            <div class="rightHandTop">
            </div>
        </div>
        <div class="rightHandBottomContainer">
            <div class="rightHandBottom">
            </div>
        </div>
    </div>
    <div class='footWrapper'>
        <div class="leftFootTopWrapper">
            <div class="leftFootTop">

            </div>
        </div>
        <div class="leftFootBottomWrapper">
            <div class="leftFootBottom">
            </div>
        </div>
        <div class='toe left'></div>
        <div class="rightFootTopWrapper">
            <div class="rightFootTop">
            </div>
        </div>
        <div class="rightFootBottomWrapper">
            <div class="rightFootBottom">
            </div>
        </div>
        <div class='toe right'></div>
    </div>
</a>

<style>
    body{
        margin0;
        padding:0;
        font12px Tahoma, arial, sans-serif;
    }
    #mask {
        position: absolute;
        opacity0.2;
        top:0;
        left:0;
    }

    header{
        font-family'Segoe UI Light','Segoe UI','Microsoft Jhenghei','寰蒋闆呴粦',sans-serif;
        color#666;
        font-size50px;
        text-align: center;
        margin-top:50px;
    }

    .team {
        font-size0.6em;
    }

    .team a{
        color:#5FB7E9;
        text-decoration: none;
    }

    .team a:hover{
        color:#4B9BC9;
    }
    /**
     * LOGO
     */

    #qq {
        width420px;
        height400px;
        margin0 auto;
        margin-top30px;
        position: relative;
        display:block;
    }

    .head{
        position: absolute;
        top:18px;
        left96px;
        width234px;
        height185px;
        border1px solid #000;
        border-top-left-radius117px 117px;
        border-top-right-radius117px 117px;
        border-bottom-left-radius117px 68px;
        border-bottom-right-radius117px 68px;
        z-index:10;
        background#000;
    }

    .eye{
        width44px;
        height66px;
        border:1px solid #000;
        border-radius50% 50%;
        position: absolute;
        background#fff;
    }

    .left.eye{
        left:62px;
        top:50px;
    }

    .right.eye{
        left:123px;
        top:50px;
    }

    .innerLeftEye{
        position: absolute;
        top20px;
        left20px;
        width18px;
        height24px;
        border-radius50%;
        border1px solid #000;
        background#000;
    }

    .innerLeftEye:after{
        content"";
        position: absolute;
        width6px;
        height8px;
        background: white;
        z-index11;
        top6px;
        left9px;
        border-radius50%;
    }

    .innerRightEye{
        position: absolute;
        width18px;
        height20px;
        top20px;
        left8px;
        border-top-left-radius50% 90%;
        border-top-right-radius50% 90%;
        border-bottom-left-radius50% 10%;
        border-bottom-right-radius50% 10%;
        background: black;
        box-shadow0 -1px 2px black;
    }

    .innerRightEye:after{
        content"";
        position: absolute;
        width10px;
        height13px;
        bottom: -1px;
        left4px;
        border-top-left-radius50% 100%;
        border-top-right-radius35% 80%;
        background: white;
    }

    .fix {
        position: absolute;
        width4px;
        height4px;
        border-radius50%;
        background: black;
        top17px;
    }

    .fix:after{
        content"";
        position: absolute;
        width4px;
        height4px;
        border-radius50%;
        background: black;
        top0;
        left14px;
    }

    .mouthTopContainer {
        position: absolute;
        width158px;
        height29px;
        z-index1;
        top120px;
        left39px;
        overflow: hidden;
    }
    .mouthTop{
        width158px;
        height34px;
        position: absolute;
        z-index1;
        border:1px solid #FFA600;
        background#FFA600;
        top0;
        left0;
        border-top-left-radius45% 34px;
        border-top-right-radius45% 34px;
        /*background-color: #FFA600; */
    }

    .mouthBottomContainer {
        position: absolute;
        width158px;
        height15px;
        z-index1;
        top146px;
        left39px;
        overflow: hidden;
    }
    .mouthBottom{
        width158px;
        height24px;
        position: absolute;
        z-index1;
        border:1px solid #FFA600;
        background#FFA600;
        border-top:none;
        top: -4px;
        left0;
        border-bottom-left-radius45% 24px;
        border-bottom-right-radius45% 24px;
        background-color#FFA600;
    }

    .lips{
        border1px solid #FFA600;
        background#FFA600;
        width116px;
        height24px;
        position: absolute;
        top146px;
        left60px;
        border-top: none;
        border-bottom-left-radius50% 100%;
        border-bottom-right-radius50% 100%;
    }

    .lipShadow {
        width0px;
        height0px;
        position: absolute;
        z-index2;
        border-top20px solid transparent;
        border-bottom20px solid transparent;
        border-right8px solid black;
        -webkit-transform-origin: top right;
        -webkit-transformrotate(-60deg);
        -moz-transform-origin: top right;
        -moz-transformrotate(-60deg);
        -o-transform-origin: top right;
        -o-transformrotate(-60deg);
        transform-origin: top right;
        transformrotate(-60deg);
        left: -12px;
        top4px;
    }

    .lipShadow.right{
        left:114px;
        -webkit-transformrotate(60degrotateY(180deg);
        -moz-transformrotate(60degrotateY(180deg);
        -o-transformrotate(60degrotateY(180deg);
        transformrotate(60degrotateY(180deg);
    }

    .body{
        width326px;
        height300px;
        /*border: 1px solid black;*/
        top135px;
        left48px;
        position: absolute;
    }

    .scarf {
        border4px solid #000;
        position: absolute;
        background#FB0009;
        z-index5;
        width258px;
        height110px;
        top: -2px;
        left34px;
        border-top-left-radius30px 34px;
        border-top-right-radius38px 34px;
        border-bottom-left-radius50% 76px;
        border-bottom-right-radius50% 76px;
        border-top: none;
    }

    .scarfShadow {
        position: absolute;
        border-top6px solid #000;
        width60px;
        height70px;
        top0px;
        left6px;
        border-top-left-radius90px 120px;
        border-top-right-radius30px 30px;
        -webkit-transformrotate(-79deg);
        -moz-transformrotate(-79deg);
        -o-transformrotate(-79deg);
        transformrotate(-79deg);
    }

    .scarfShadowRight {
        position: absolute;
        border-right6px solid black;
        width100px;
        height70px;
        top8px;
        left143px;
        border-bottom-right-radius70px 70px;
        z-index6;
    }

    .scarfEnd{
        position: absolute;
        width52px;
        height64px;
        z-index4;
        top90px;
        border3px solid black;
        left74px;
        border-bottom-left-radius50% 43%;
        border-bottom-right-radius15px;
        border-top-left-radius20% 57%;
        background#FB0009;
    }

    .scarfEndShadow{
        position: absolute;
        border-top6px solid black;
        width20px;
        height20px;
        top6px;
        left12px;
        border-top-left-radius30px 30px;
        -webkit-transform-origin: top right;
        -moz-transform-origin: top right;
        -o-transform-origin: top right;
        transform-origin: top right;
        z-index10;
        -webkit-transformskewX(4degscaleY(1.5rotate(-60deg);
        -moz-transformskewX(4degscaleY(1.5rotate(-60deg);
        -o-transformskewX(4degscaleY(1.5rotate(-60deg);
        transformskewX(4degscaleY(1.5rotate(-60deg);

    }

    .innerWrapper{
        position: absolute;
        overflow: hidden;
        width280px;
        height200px;
        left30px;
        top76px;
    }

    .inner {
        border1px solid #000;
        width218px;
        position: absolute;
        height210px;
        border-radius50%;
        left25px;
        top: -71px;
        z-index4;
        background#fff;
    }

    .outterWrapper{
        width262px;
        left32px;
        height250px;
        position: absolute;
        top54px;
        overflow: hidden;
    }

    .outter{
        border1px solid #000;
        width260px;
        height250px;
        border-radius125px;
        position: absolute;
        top: -84px;
        z-index3;
        background#000;
    }

    .handWrapper{
        position: absolute;
        top219px;
        left7px;
    }


    .leftHandTopContainer{
        width118px;
        height26px;
        position: absolute;
        z-index1;
        top55px;
        left50px;
        -webkit-transform-origin: bottom left;
        -webkit-transformrotate(-70deg);
        -moz-transform-origin: bottom left;
        -moz-transformrotate(-70deg);
        -o-transform-origin: bottom left;
        -o-transformrotate(-70deg);
        transform-origin: bottom left;
        transformrotate(-70deg);
        overflow: hidden;
    }

    .leftHandTop{
        width128px;
        height54px;
        border1px solid #050346;
        position: absolute;
        border-top-left-radius44% 38px;
        border-top-right-radius56% 33px;
        background#000;
    }

    .leftHandBottomContainer {
        width100px;
        height30px;
        position: absolute;
        z-index1;
        top78px;
        left50px;
        -webkit-transform-origin: top left;
        -webkit-transformrotate(-70deg);
        -moz-transform-origin: top left;
        -moz-transformrotate(-70deg);
        -o-transform-origin: top left;
        -o-transformrotate(-70deg);
        transform-origin: top left;
        transformrotate(-70deg);
        overflow: hidden;
    }

    .leftHandBottom{
        width128px;
        height44px;
        border1px solid #050346;
        background#000;
        border-top: none;
        position: absolute;
        border-bottom-left-radius48% 20px;
        border-bottom-right-radius52% 23px;
        top: -26px;
    }


    .rightHandTopContainer{
        width118px;
        height34px;
        position: absolute;
        z-index3;
        top47px;
        left240px;
        -webkit-transform-origin: bottom right;
        -webkit-transformrotate(65deg);
        -moz-transform-origin: bottom right;
        -moz-transformrotate(65deg);
        -o-transform-origin: bottom right;
        -o-transformrotate(65deg);
        transform-origin: bottom right;
        transformrotate(65deg);
        overflow: hidden;
    }

    .rightHandTop{
        width148px;
        height54px;
        border1px solid #050346;
        position: absolute;
        border-top-right-radius41% 54px;
        border-top-left-radius59% 48px;
        background: black;
        left: -30px;
        -webkit-transformrotateY(-180deg);
        -moz-transformrotateY(-180deg);
        -o-transformrotateY(-180deg);
        transformrotateY(-180deg);
    }

    .rightHandBottomContainer{
        width110px;
        height58px;
        position: absolute;
        z-index1;
        top81px;
        left248px;
        -webkit-transform-origin: top right;
        -webkit-transformrotate(90deg);
        -moz-transform-origin: top right;
        -moz-transformrotate(90deg);
        -o-transform-origin: top right;
        -o-transformrotate(90deg);
        transform-origin: top right;
        transformrotate(90deg);
        overflow: hidden;
    }

    .rightHandBottom{
        width68px;
        height28px;
        border1px solid #000;
        background: black;
        border-top: none;
        position: absolute;
        top1px;
        left38px;
        border-bottom-right-radius100% 40px;
        z-index999;
    }

    .footWrapper{
        position: absolute;
        top292px;
        left80px;
    }

    .leftFootTopWrapper {
        position: absolute;
        width130px;
        top16px;
        left: -1px;
        height37px;
        overflow: hidden;
        z-index2;
    }

    .leftFootTop{
        position: absolute;
        width120px;
        height60px;
        border4px solid black;
        background#FF9C00;
        border-top-left-radius80% 70%;
        top: -10px;
        left3px;
    }

    .toe {
        position: absolute;
        border-top4px solid black;
        width25px;
        height20px;
        top50px;
        left2px;
        border-top-right-radius30px 30px;
        border-top-left-radius10px 10px;
        -webkit-transform-origin: top left;
        -moz-transform-origin: top left;
        -o-transform-origin: top left;
        transform-origin: top left;
        z-index10;
        -webkit-transformrotate(-45deg);
        -moz-transformrotate(-45deg);
        -o-transformrotate(-45deg);
        transformrotate(-45deg);
    }

    .toe.right{
        -webkit-transformrotate(45degrotateY(180deg);
        -moz-transformrotate(45degrotateY(180deg);
        -o-transformrotate(45degrotateY(180deg);
        transformrotate(45degrotateY(180deg);
        left264px;
    }

    .leftFootBottomWrapper {
        position: absolute;
        width130px;
        top52px;
        left: -1px;
        height38px;
        overflow: hidden;
        z-index2;
    }

    .leftFootBottom{
        position: absolute;
        width120px;
        height60px;
        border4px solid #000;
        background#FF9C00;
        border-top-left-radius50% 44%;
        border-top-right-radius50% 44%;
        border-bottom-left-radius50% 56%;
        border-bottom-right-radius50% 56%;
        top: -30px;
        left3px;
    }


    .rightFootTopWrapper {
        position: absolute;
        width134px;
        top22px;
        left134px;
        height36px;
        overflow: hidden;
        z-index2;
    }

    .rightFootTop{
        position: absolute;
        width120px;
        height60px;
        border4px solid black;
        background#FF9C00;
        border-top-right-radius32% 65%;
        top0px;
        left4px;
    }

    .rightFootBottomWrapper {
        position: absolute;
        width134px;
        top52px;
        left134px;
        height38px;
        overflow: hidden;
    }

    .rightFootBottom{
        position: absolute;
        width120px;
        height60px;
        border4px solid #000;
        background#FF9C00;
        border-top-left-radius50% 56%;
        border-top-right-radius50% 56%;
        border-bottom-left-radius50% 44%;
        border-bottom-right-radius50% 44%;
        top: -30px;
        left3px;
    }

    .rightToe {
        position: absolute;
        width40px;
        height10px;
        border2px solid #000;
        background#FF9C00;
        border-radius50%;
        -webkit-transform-origin: bottom right;
        -webkit-transformrotate(34deg);
        -moz-transform-origin: bottom right;
        -moz-transformrotate(34deg);
        -o-transform-origin: bottom right;
        -o-transformrotate(34deg);
        transform-origin: bottom right;
        transformrotate(34deg);
        top35px;
        left210px;
        z-index1;
    }

    .copyright{
        margin50px 0 0 0;
        height50px;
        color#999;
        font-family: Tahoma;
        font-size12px;
        text-align: center;
    }

    .copyright a {
        color#999;
        text-decoration: none;
    }

    .copyright a:hover.copyright a:focus {
        outline: none;
        text-decoration: underline;
    }
</style>

看完上述内容,你们掌握如何在css中绘制特殊图形的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://www.jb51.net/css/650612.html

css
AI

开发者交流群×