纯css如何绘制三角形_利用border实现画三角形的原理方法

时间: 2018-05-30阅读: 347标签: css

使用css画三角形,首先想到的思路是:利用border边框样式来实现,这是由于border的边框是由四个三角形组成的。


首先生成一个带边框宽高为0的div:

<style>
.dom{
	width: 0px;
	height: 0px;
	border-width: 50px;
	border-style: solid;
	border-color: red green blue brown;
}
</style>
<!--宽度为100px-->	
<div class="dom"></div>

效果如下:


取消其它三边的颜色形成三角形:

这里我们利用transparent的透明颜色来代替。就可以实现了。如下:

1、css向下三角形:

<style>
.dom{
	width: 0px;
	height: 0px;
	border-width: 40px;
	border-style: solid;
	border-color: red transparent transparent transparent;
        /*或者border-color: transparent transparent red;*/
}
</style>
<div class="dom"></div>

效果:


2、css向上三角形:

<style>
.dom{
	width: 0px;
	height: 0px;
	border-width: 40px;
	border-style: solid;
	border-color: transparent transparent blue transparent; 
        /*或者border-color:blue transparent transparent*/
}
</style>
<div class="dom"></div>

效果:


3、css向左三角形:

<style>
.dom{
	width: 0px;
	height: 0px;
	border-width: 40px;
	border-style: solid;
	border-color: transparent green transparent transparent;
}
</style>
<div class="dom"></div>

效果:


4、css向右三角形:

<style>
.dom{
	width: 0px;
	height: 0px;
	border-width: 40px;
	border-style: solid;
	border-color: transparent transparent transparent brown;
}
</style>
<div class="dom"></div>

效果:


css如何实现边框的三角形呢?

上面实现的三角形都是没有带边框的,如果在需求中需要实现带边框的三角形改如何实现呢?思路为:思路是将两个三角形叠加在一起,外层三角形稍大一些,颜色设置成边框所需的颜色;内层三角形绝对定位在里面。整体就能形成带边框三角形的假象。

以css向上带边框三角形为例:

<style>
.dom{
	width: 0px;
	height: 0px;
	border-width:0 40px 40px;
	border-style: solid;
	border-color:  transparent transparent #333;
	position: relative;
}
.dom:after{
	content:"";
	display: block;
	width: 0px;
	height: 0px;
	border-width: 0 38px 38px;
	border-style: solid;
	border-color: transparent transparent red;
	position: absolute;
	top:1px;
    left:-38px;
}
</style>
<div class="dom"></div>

效果:



什么是css sprites(雪碧图),css sprites使用的优缺点

css sprites雪碧图:把一堆小图片整合在一张大图上,通过背景图片相关设置(背景图片、背景图是否重复、背景图定位),显示图片,减轻服务器对图片的请求数量

CSS中的focus-within伪类选择器

在CSS中 :focus-within 是一个伪类,CSS中伪类:focus-within能非常方便处理获取焦点状态, 当元素本身或其后代获得焦点时,:focus-within伪类的元素就会有效。

HTML/CSS中的空格处理_如何保留页面中的空格

在html中内容中的多个空格一般会被视为一个,连续的多个空格符被自动合并了,同时内容前后的空格也会被清除。HTML空格保留的方式、CSS空格保留的方式。

CSS隐藏页面元素常用方法_不同场景下使用CSS隐藏元素

使用 CSS 让元素不可见的方法很多,剪裁、定位到屏幕外、明度变化等都是可以的。虽然它们都是肉眼不可见,但背后却在多个维度上都有差别

CSS 技术技巧_提高你CSS技术的法则

CSS技术技巧法则:不要让你的代码脱离你的掌控,尽量简洁、掌握基础、保持代码的可复用性、面向对象的css、Css3了解他能做的以及你可以使用的部分、渐进增强与优雅降级、Css预处理工具...

CSS隐藏元素的五种方法

用css隐藏页面元素有许多种方法。1、opacity:0;2、visibility:hidden;3、diaplay:none;4、position:absolute;5、clip-path。大家可以根据具体情况选择适合的方法来隐藏元素

你知道我们平时在CSS中写的%都是相对于谁吗?

编写CSS的时候,经常会用到百分比赋值(%)实现自适应。像我们最常使用的流式布局设计模式,基本所有的column的宽度都是通过%来取值的。或者比如经常会遇到的元素水平垂直居中问题

CSS中的三大特性_继承性、层叠性、优先级

这是一篇基础的文章,主要介绍css中的三大特性:css继承性、css层叠性、css优先级

CSS中可以和不可以继承的属性

这篇文章整理css中无继承性的属性、继承性的属性、所有元素可以继承的属性、内联元素可以继承的属性、块级元素可以继承的属性

web前端开发书籍推荐_css/css3的好书有哪些?

css/css3样式已是web前端开发的主流技术了。每个优秀的前端程序员都应该熟悉,甚至精通css。那么要如何才能学好css,并很好的应用到实际开发中,这篇文章就推荐一些关于css相关的书籍给大家。