用css画三角形

本文介绍了如何利用CSS来创建三角形,通过调整边框宽度和颜色,实现不同方向和样式的三角形效果。示例包括HTML和CSS代码,以及最终的显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>css基础实践</title>
		<link rel="stylesheet" href="css/index.css" />
	</head>
	<body>
		<!--下三角-->
		<div class="border_down"></div>
		<!--上三角-->
		<div class="border_up"></div>
		
		<!--左三角-->
		<div class="border_left"></div>
		<!--右三角-->
		<div class="border_right"></div>
		<!--气泡框三角形-->
	    <div class="bubble">
	        <span><em></em></span>
	    </div>
	    
	    <!--东北,东南,西北 ,西南三角形的写法-->
	    <div class="border_topleft"></div>
	    <div class="border_bottomright"></div>
	    <div class="border_topright"></div>
	    <div class="border_bottomleft"></div>
	    
	    <div id="curvedarrow"></div>
	    
	    <div id="heart"></div>
	</body>
</html>

2. index.css


div{ display: inline-block;}
/*border-color 上 右 下 左*/
/*向下*/
.border_down{
    width:0;
    height:0px;
    border-width:28px;
    border-style:solid;
    border-color:#333 transparent transparent;
}
/*向上*/
.border_up{
    width:0;
    height:0px;
    border-width:28px;
    border-style:solid;
    border-color:transparent transparent #333;/*透明 透明  灰*/
}
/*向左*/
.border_left{
    width:0;
    height:0px;
    border-width:28px;
    border-style:solid;
    border-color:transparent #333 transparent transparent; /*右边不透明*/
}
/*向右*/
.border_right{
    width:0;
    height:0px;
    border-width:28px;
    border-style:solid;
    border-color:transparent transparent transparent #333; /*左边不透明 */
    margin-left: 30px;
}
/*气泡三角形*/
.bubble{
    width:100px;
    height: 30px;
    background:#fc0; 
    padding:10px 20px; 
    color:#333;  
    border-radius:4px;
    position:absolute; 
    top:30px; 
    left:260px;
    border:1px solid #333;
}
.bubble span{
    display:block; 
    width:0; 
    height:0; 
    border-width:0 10px 10px; 
    border-style:solid; 
    border-color:transparent transparent #333; 
    position:absolute; 
    top:-10px; 
    left:50%;/* 三角形居中显示 */
    margin-left:-10px;/* 三角形居中显示 */
}
.bubble em{
    display:block; 
    width:0; 
    height:0; 
    border-width:0 10px 10px; 
    border-style:solid; 
    border-color:transparent transparent #fc0; 
    position:absolute; 
    top:1px; 
    left:-10px;
}

.border_topleft{
// 两种写法
//  width:0;
//  height:0;
//  border-width:30px 30px 0 0;
//  border-style:solid;
//  border-color:#333 transparent transparent transparent;
//  margin-left: 8%;
    width: 0;
    height: 0;
    border-top: 30px solid #333;
    border-right: 30px solid transparent;
    margin-left: 8%;
}
.border_bottomright{
    // 两种写法
//  width:0;
//  height:0;
//  border-width:30px 30px 0 0;
//  border-style:solid;
//  border-color:transparent #333 transparent transparent;
    width: 0;
    height: 0;
    border-bottom: 30px solid #333;
    border-left: 30px solid transparent;
}
.border_topright{
    // 两种写法
//  width:0;
//  height:0;
//  border-width:0px 30px 30px 0px;
//  border-style:solid;
//  border-color:transparent #333;

    width: 0;
    height: 0;
    border-top: 30px solid #333;
    border-left: 30px solid transparent;
    margin-left: 1%;
}
.border_bottomleft{
    // 两种写法
//  width:0;
//  height:0;
//  border-width:30px 0px 0px 30px;
//  border-style:solid;
//  border-color:transparent #333;
//  margin-left: 1%;
    width: 0;
    height: 0;
    border-bottom: 30px solid #333;
    border-right: 30px solid transparent;
    margin-left: 1%;
}
#curvedarrow {
  position: relative;
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-right: 9px solid red;
  -webkit-transform: rotate(10deg);
  -moz-transform: rotate(10deg);
  -ms-transform: rotate(10deg);
  -o-transform: rotate(10deg);
}
#curvedarrow:after {
  content: "";
  position: absolute;
  border: 0 solid transparent;
  border-top: 3px solid red;
  border-radius: 20px 0 0 0;
  top: -12px;
  left: -9px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}

#heart {
    position: relative;
    width: 100px;
    height: 90px;
}
#heart:before,
#heart:after {
    position: absolute;
    content: "";
    left: 50px;
    top: 0;
    width: 50px;
    height: 80px;
    background: red;
    -moz-border-radius: 50px 50px 0 0;
    border-radius: 50px 50px 0 0;
    -webkit-transform: rotate(-45deg);
       -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
         -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transform-origin: 0 100%;
       -moz-transform-origin: 0 100%;
        -ms-transform-origin: 0 100%;
         -o-transform-origin: 0 100%;
            transform-origin: 0 100%;
}
#heart:after {
    left: 0;
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transform-origin: 100% 100%;
       -moz-transform-origin: 100% 100%;
        -ms-transform-origin: 100% 100%;
         -o-transform-origin: 100% 100%;
            transform-origin :100% 100%;
}


效果图如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值