css实现实心三角形、有边框的三角形和空心三角形

1、实心三角形

<div class="up"></div> <!--向上的三角形-->
	<div class="down"></div> <!--向下的三角形-->
	<div class="left"></div> <!--向左的三角形-->
	<div class="right"></div> <!--向右的三角形-->
/*想获取朝那边三角形,给相反的一边设置颜色,font-size: 0;line-height: 0;可以兼容ie6*/
    	.up{width: 0;height: 0;border-left: 20px solid transparent;border-right: 20px solid transparent;border-bottom: 20px solid #f00;font-size: 0;line-height: 0;}
    	.down{width: 0;height: 0;border-left: 20px solid transparent;border-right: 20px solid transparent;border-top: 20px solid #f00;font-size: 0;line-height: 0;}
    	.left{width: 0;height: 0;border-top: 20px solid transparent;border-right: 20px solid #f00;border-bottom: 20px solid transparent;font-size: 0;line-height: 0;}
    	.right{width: 0;height: 0;border-top: 20px solid transparent;border-left: 20px solid #f00;border-bottom: 20px solid transparent;font-size: 0;line-height: 0;}
    	


2、有边框的三角形

<!--向上的三角形-->
	<div class="border-up">
		<span></span>
	</div>
	<!--向下的三角形-->
	<div class="border-down">
		<span></span>
	</div>
	<!--向左的三角形-->
	<div class="border-left">
		<span></span>
	</div>
	<!--向右的三角形-->
	<div class="border-right">
		<span></span>
	</div>
.border-up{width: 0;height: 0;border-left: 30px solid transparent;border-right: 30px solid transparent;border-bottom: 30px solid #333;position: relative;margin: 50px auto;}
    	.border-up span{display: block;width: 0;height: 0;border-left: 28px solid transparent;border-right: 28px solid transparent;border-bottom: 28px solid #F0981C;position: absolute;left: -28px;top: 1px;}
    	.border-down{width: 0;height: 0;border-left: 30px solid transparent;border-right: 30px solid transparent;border-top: 30px solid #333;position: relative;margin: 50px auto;}
    	.border-down span{display: block;width: 0;height: 0;border-left: 28px solid transparent;border-right: 28px solid transparent;border-top: 28px solid #F0981C;position: absolute;left: -28px;top: -29px;}
    	.border-left{width: 0;height: 0;border-bottom: 30px solid transparent;border-right: 30px solid #333;border-top: 30px solid transparent;position: relative;margin: 50px auto;}
    	.border-left span{display: block;width: 0;height: 0;border-bottom: 28px solid transparent;border-right: 28px solid #F0981C;border-top: 28px solid transparent;position: absolute;left: 1px;top: -28px;}
    	.border-right{width: 0;height: 0;border-left: 30px solid #333;border-bottom: 30px solid transparent;border-top: 30px solid transparent;position: relative;margin: 50px auto;}
    	.border-right span{display: block;width: 0;height: 0;border-left: 28px solid #F0981C;border-bottom: 28px solid transparent;border-top: 28px solid transparent;position: absolute;left: -29px;top: -28px;}
    	

3、空心三角形

<!--空心的三角形-->
	<!--向上的三角形-->
	<div class="border-up-empty">
		<span></span>
	</div>
	<!--向下的三角形-->
	<div class="border-down-empty">
		<span></span>
	</div>
	<!--向左的三角形-->
	<div class="border-left-empty">
		<span></span>
	</div>
	<!--向右的三角形-->
	<div class="border-right-empty">
		<span></span>
	</div>
.border-up-empty{width: 0;height: 0;border-left: 30px solid transparent;border-right: 30px solid transparent;border-bottom: 30px solid #333;position: relative;margin: 50px auto;}
    	.border-up-empty span{display: block;width: 0;height: 0;border-left: 28px solid transparent;border-right: 28px solid transparent;border-bottom: 28px solid #F0981C;position: absolute;left: -28px;top: 2px;}
    	.border-down-empty{width: 0;height: 0;border-left: 30px solid transparent;border-right: 30px solid transparent;border-top: 30px solid #333;position: relative;margin: 50px auto;}
    	.border-down-empty span{display: block;width: 0;height: 0;border-left: 28px solid transparent;border-right: 28px solid transparent;border-top: 28px solid #F0981C;position: absolute;left: -28px;top: -30px;}
    	.border-left-empty{width: 0;height: 0;border-bottom: 30px solid transparent;border-right: 30px solid #333;border-top: 30px solid transparent;position: relative;margin: 50px auto;}
    	.border-left-empty span{display: block;width: 0;height: 0;border-bottom: 28px solid transparent;border-right: 28px solid #F0981C;border-top: 28px solid transparent;position: absolute;left: 2px;top: -28px;}
    	.border-right-empty{width: 0;height: 0;border-left: 30px solid #333;border-bottom: 30px solid transparent;border-top: 30px solid transparent;position: relative;margin: 50px auto;}
    	.border-right-empty span{display: block;width: 0;height: 0;border-left: 28px solid #F0981C;border-bottom: 28px solid transparent;border-top: 28px solid transparent;position: absolute;left: -30px;top: -28px;}
    	

其实空心三角形就是对有边框的三角形的定位改变



  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实现一个空心三角形,你可以使用CSS的border属性来设置元素的边框样式。根据提供的HTML和CSS代码,可以看出如下的实现方式: 1. 首先,在HTML中创建一个包含空心三角形的容器元素,比如使用`<div>`标签,并为其添加一个类名,例如"box"。 2. 在CSS中,使用`.box`选择器来选择该容器元素,并设置其宽度、相对定位和高度等属性。 3. 创建一个内部的子元素,比如一个`<div>`标签,并为其添加一个类名,例如"arrow"。然后使用`.arrow`选择器来选择该子元素,并设置其绝对定位和其他样式属性,如宽度、高度、边框样式等。同时,使用`transform`或`-webkit-transform`属性来旋转该子元素以形成空心三角形的样式。 4. 如果你想要进一步调整三角形的大小和位置,可以使用伪元素的方式,并设置其内容为空、绝对定位和样式属性来调整其形状和位置。例如,在`.arrow`选择器后添加`:after`伪元素选择器,并设置其样式属性,如`border`等。 综上所述,通过以上的HTML和CSS代码,你可以实现一个空心三角形的效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [css 实现空心三角形](https://blog.csdn.net/weixin_41544124/article/details/86249913)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [CSS实现实心三角形空心三角形](https://blog.csdn.net/qq_34645412/article/details/78062304)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LLL_LH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值