zoukankan      html  css  js  c++  java
  • CSS绘制三角形

    绘制三角形关键在于控制盒子模型的border属性。

    <!DOCTYPE html>
    <html>
    	<style>
    		#triangle-origin{
                0;
                height:0;
                margin:10px auto;
                border:50px solid transparent;
                border-color:black blue red wheat;
            }
    	</style>
        <body>
            <div class="site-up">这就是向上指的小三角形 <b> </b> </div>
            <hr>
            <div class="site-down">这就是向下指的小三角形 <b> </b> </div>
            <hr>
            <div id="triangle-origin"></div>
            <hr>
            <div id="triangle-down"></div>
            <hr>
            <div id="triangle-up"></div>
            <hr>
            <div id="triangle-right"></div>
            <hr>
            <div id="triangle-left-top"></div>
        </body>
    </html>
    

    盒子模型,给四个border染色
    image

    某一个方向的border宽度为0

    向下的三角形:

    #triangle-down{
    	0;
    	height:0;
    	margin:10px auto;
    	border-bottom: 0;
    	border-right: 50px solid white;
    	border-left: 50px solid white;
    	border-top:100px solid orange;
    }
    

    向上的三角形:

    #triangle-up{
    	0;
    	height:0;
    	border-top: 0;
    	border-right: 50px solid white;
    	border-left: 50px solid white;
    	border-bottom:100px solid orange;
    
    	margin:10px auto;
    }
    

    向右的三角形:

    #triangle-right{
    	0;
    	height:0;
    	border-right: 0;
    	border-top: 50px solid white;
    	border-left: 100px solid orange;
    	border-bottom:50px solid white;
    
    	margin:10px auto;
    }
    

    向左上的三角形:

    #triangle-left-top{
    	0;
    	height:0;
    	border-right: 50px solid white;;
    	border-top: 50px solid orange;
    	border-left: 50px solid orange;
    	border-bottom:50px solid white;
    
    	margin:10px auto;
    }
    

    小结:

    1. 设置conten区宽高为0
    2. 上下左右,顶角在哪个方向,哪个方向的border宽度就设为0
    3. 左上、左下、右上、右下,其实就是两个三角形的组合

    放在一段文字之后:

    .site-down {
    	auto;
    	height:auto;
    	background-color:#fff;
    	position:relative;
    }
    .site-down b {
    	0;
    	height:0;
    	margin:10px auto;
    	border-bottom: 0;
    	border-right: 4px solid white;
    	border-left: 4px solid white;
    	border-top:6px solid orange;
    	position:absolute;
    }
    

    取盒子模型中四个三角形的一个

    向上的三角形

    .site-up {
    	auto;
    	height:auto;
    	background-color:#fff;
    	position:relative;
    }
    .site-up b {
    	border-color: #fff #fff #666;;
    	border-style: solid;
    	border- 4px;
    
    	position:absolute;
    	top:3px;
    }
    

    小结:
    由四个等腰三角形组成矩形盒子,把不需要的三角形设为和背景一样的颜色即可。因为所需要的向上三角形是很小的,所以实际的染黑部分未必是三角形,即使梯形,缩小后也会呈现三角形的样子。(可以通过增大border-width的值看到)

    image
    谢谢阅读!

  • 相关阅读:
    ASP.NET Repeater的用法初探
    ADO.NET 数据查询和数据操作
    ASP.NET 一般处理程序基础1(Get Post 表单提交 Http协议 Nvelocity模板引擎)
    接口继承
    《需求工程》阅读笔记2
    《需求工程》阅读笔记1
    Python3.0中的strip方法失效问题以及re.sub方法无法执行问题
    使用Python爬取豆瓣电影详细数据
    《软件方法》阅读笔记——3
    基于layui实现了将查询出的数据分页显示
  • 原文地址:https://www.cnblogs.com/liulangbxc/p/14863114.html
Copyright © 2011-2022 走看看