您现在的位置是:网站首页> 编程资料编程资料
使用CSS的border属性构建变形边框的方法总结
2023-10-22
326人已围观
简介 border是最常用的用来制作各种各样div边框的CSS属性,这里我们整理了使用CSS的border属性构建变形边框的方法总结,最主要的还是基于三角形的一些图形变换:
border基础回顾
border 顾名思义就是边框的意思,在 CSS 中,你可以透过 border 的语法来对边框做许多样化的设计变化,例如设定边框的宽度、样式、颜色等等,也可以隐藏边框,原则上 CSS 对于 border 的设计不只局限于 DIV 区块或 span 的边框,也可以应用到其他的网页元素的边框上,例如网页标题的边框、图片的边框(img border)... 等,所有的主流浏览器都支援 CSS border 属性。
CSS border 语法介绍:
- border: 边框粗细 边框颜色 边框样式 ;
标准的 css border 规则由左至右共有三个参数,每个参数间用半形空格隔开,第一个参数为边框的粗细(border-width),一般使用 px、em 等标准网页单位,第二个参数标示边框的颜色(border-color),可以使用色标准色码或颜色的英文名称,第三个参数是边框样式(border-style),可以设定实线、虚线、双实线、连续点 ... 等许多不同的风格。
简单回顾以后,我们下面来进入正题:
一、border边框变形记
前端开发者对于如何用纯css如何实现三角效果应该有一定了解了。但是大家真正在项目中用到这个效果并不是很多吧,而且并不是每个人都熟谙此纯css打造三角形的原理。所以今天粗拟一文,写给一些对此原理不是很精通的朋友。高手飘过吧!下面来看我是如何通过纯css来实现三角形的效果的。

我们首先来看上面一组图形,分别是两个正方形,两个长方形,并且每个形状中都包括不同的图形。值得一提的是这些形状是通过纯css来实现的,比较可喜的是它们兼容ie6…
等边四边形==图形的合体(不许有邪恶的想法!!):
如果你要问这些是如何实现的呢?其实比较简单,只是平时大家很少关注罢了。我们习惯了用border定义边框,因为设计图的原因,大多是定义“1-5”像素的图形,并没有进行过深入的研究,比如border-left与border-top之间的衔接是怎样的呢?想要知道答案很简单,我们只需要将border-width的值增大就可以了,增大后我们会看到border之间的衔接是一条斜线。如上图所示了,下面贴上面部分的代码:
- width: 20px; height: 20px; display: inline-block; border: 40px solid #0f0; float: left;”>
- width: 20px; height: 20px; display: inline-block; margin-left: 20px; border-left: 40px solid #f00; border-top: 40px solid #0f0; border-right: 40px solid #03f; border-bottom: 40px solid #f70; float: left;”>
- width: 0px; height: 0px; display: inline-block; margin-left: 20px; border-left: 40px solid #f00; border-top: 40px solid #0f0; border-right: 40px solid #03f; border-bottom: 40px solid #f70; font-size: 0; float: left;”>
- width: 0px; height: 0px; display: inline-block; margin-left: 20px; border-left: 40px solid #f00; border-top: 40px solid #0f0; border-right: 80px solid #03f; border-bottom: 40px solid #f70; font-size: 0; float: left;”>
你一定很想了解上面的图形的变形原理了。这里我分步骤解析代码:
首先我们研究图一的代码,发现就是我们平常使用的定义边框的方式:border:40px solid #0f0;这样我们就可以得到一个宽高均为20像素,边框为40像素的正方形;
继续,研究图二的代码,也是很简单实现,只不过给各个边框添加了颜色罢了,不过我们却发现了惊人的变化,每个边框与边框之间竟然是产生了斜线,并且这个时候产生了4个梯形,聪明的你一定会有一种原来如此的感觉,并且同时联想到如果没有中间的空白那样不就产生了三角形了吗…
是的,如你所想,图三就是你脑子中的东西,我们看到代码“width: 0px; height: 0px;”这样空白部分就没有了,不过这时你可能还需要注意一个细节(加粗显示的部分),“font-size: 0”,是的就是这里,为了兼容ie6,去除ie610像素高度的bug(必要的时候需要用到line-height:0;)。至此,我们再告一段落,接下来你是不是想要告诉我,将其他的三个边框颜色转化成背景色就变成了一个三角形呢?是的,的确是这个样子。但是不要着急,我们接下来研究下图四。
同图三只有细微的不同,右边边框的宽度增加了,变成了80像素,然后你看到了产生了4个非直角的三角形,但是这个又有神马用呢?我可以肯定的说,只要用心思考,这个还是比较好玩的,因为我们三角形的领域已经不再局限于直角的了…呵呵,各位看官请继续给下看
正方形变形成三角形:
我尽力不拖泥带水完成整个变形过程的注解,但是文笔以及性格的原因,总有磨叽之处,还请见谅!贴上面图形代码:
- width: 0px; height: 0px; display: inline-block; border: 40px solid #fff; border-left-color: #f00; border-right-color: #03f; font-size: 0; float: left;”>
- width: 0px; height: 0px; display: inline-block; margin-left: 20px; border: 40px <
相关内容
- CSS如何美化被选中的文字CSS美化半个字符的巧妙方法使用CSS3美化HTML表单的技巧演示CSS使用图片美化的漂亮菜单效果用CSS和Div美化select样式的简单方法CSS美化下拉框select在火狐和谷歌浏览器下已测试使用css美化html表单控件详细示例(表单美化)css美化表格让其隔行变色显示文件上传input file简便美化方案(css)CSS美化 input type=file 兼容各个浏览器只用CSS美化选择框的实现代码
- html+css+div实现电影结束效果全面了解html.css溢出使用HTML5里的classList操作CSS类浅谈HTML(css基础样式)HTML (css样式规范)必看篇DW在html中插入css样式方法Html/Css(新手入门第一篇必看攻略)
- 详解CSS中的选择器优先级顺序CSS优先级计算的规则css优先级计算方法(推荐)详解CSS中的选择器优先级及样式层叠问题解决CSS z-index 层级关系优先级的概念CSS优先级的两种理解方式
- 图文讲解CSS的Box Model盒模型中的边距解析CSS的box model盒模型及其内的子元素布局控制CSS3弹性盒模型flex box快速入门心得(必看篇)CSS弹性盒模型flex在布局中的应用详解几个CSS3的flex弹性盒模型布局的简单例子演示CSS使用盒模型实例讲解
- CSS中的空白效果属性使用小结CSS针对IE6实现网页图片底部留出空白的方法css空白边叠加的几种情况介绍 css实现瀑布流空白处背景粉色背景块css 空白外边距互相叠加的解决方法css 关于空白叠加 使用CSS代码的空格实现中文对齐的方法CSS解决无空格的字母、数字过长不自动换行的问题CSS实现段落首行缩进两个字符不再使用空格书写css伪类时冒号后多个空格导致该规则失效CSS样式表中继承关系的空格与不空格
- 天天酷跑1.0.8版PK战场高分小技巧分享_手机游戏_游戏攻略_
- 天天酷跑1.0.8版宠物鹰飞飞技能属性全方位解析_手机游戏_游戏攻略_
- 全民英雄刷魔钻技巧_利用BUG刷魔钻最新教程攻略_手机游戏_游戏攻略_
- 全民英雄宠物如何获得_全民英雄宠物获得方法说明_手机游戏_游戏攻略_
- 全民英雄紫装来袭 三把神器横空出世_手机游戏_游戏攻略_
点击排行
本栏推荐
