CSS实现三角形

本文介绍怎样利用CSS实现三角形,通过三角形实现消息气泡样式。

下面将介绍怎样利用CSS实现三角形。如果我们将元素的高度和宽度设置为0,然后设置边框宽度。你会得到一个如下图所示的正方形,假如我们将其他三方设置为透明,不就是一个三角形吗?根据这个思路,我们是不是可以得到四个指向不同方向的三角形。如下图:

CSS实现三角形

实例1:设置div的高度和宽度为0,然后设置宽度为40px。四条边的颜色分别为红色、绿色、蓝色和橙色。代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>CSS</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
        .demo1 {
            width: 0;
            height: 0;
            border: solid 40px;
            border-color: red green blue orange;
        }
    </style>
</head>
<body>
    <div class="demo1"></div>
</body>
</html>

实例2:根据上面我们了解到的三角形实现思路,就可以简单的实现一个聊天的气泡样式(采用下三角形)。如下图:

CSS实现三角形

代码示例:下面并没有创建元素去实现三角形,而是在主元素中插入before实现。如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>CSS</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
        .demo2 {
            position: relative;
            height: 100px;
            width: 200px;
            border-radius: 5px;
            background: orange;
        }
        .demo2::before {
            content: '';
            position: absolute;
            top: -19px;
            right: 20px;
            height: 0;
            width: 0;
            border: solid 10px;
            border-color: transparent transparent orange transparent;
        }
    </style>
</head>
<body>
    <div class="demo2"></div>
</body>
</html>
谁不会休息,谁就不会工作。 —— 列宁
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号