• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > CSS border三角、圆角图形生成技术详解

CSS border三角、圆角图形生成技术详解

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含border,三角,圆角等相关知识,佚名 希望在学习及工作中可以帮助到您
一、前言

利用CSS的border属性可以生成一些图形,例如三角或是圆角。纯粹的CSS2的内容,没有兼容性的问题,我之前在纯CSS实现各类气球泡泡对话框效果一文中算是比较详细的讲述了CSS border属性生成三角的原理,以及实例。我觉得此技术相当实用的,故本文再次简单叙述一下,另外,本文还将展示可能并不为众人所知的CSS border圆角生成技术。好了,裹脚布的话就不说了,直接进入正题。

二、CSS border生成三角技术简介

效果抢鲜
下图为使用CSS的border属性实现的三角效果:
相邻边框显示的效果 微课江湖

如何实现的,为何会有这样的效果,不急,take it easy!

梯形图案
看下面这段样式:

当某个div应用了上面这个样式后,结果会如何?见下图(截自Firefox3.5,IE浏览器有细节上的差异):
Firefox浏览器下边框交界处的显示 微课江湖

更进一步 – 部分边框透明
现在,设想一下,如果我们现在只保留一个一个上边框,其余边框均transparent透明(或与背景色同色),那么是不是就只显示一个上面红色的边框了,我们测试下,与上面类似的代码,只是修改下其余三个边框的颜色。

结果如下图(截自Firefox3.5):
边框色域背景色一致后的效果 微课江湖

从梯形到三角
上面的是梯形,我要想得到一个三角图案该怎么办呢?显然,很简单,把div的高宽都变成0,只留一边,不就是三角了吗?如下代码:

结果如下(依旧截图自Firefox3.5):
高宽置0后的显示 微课江湖

从等腰直角三角形到普通等腰三角
上图为等腰直角三角形,之所以为等腰直角,是因为所有的边框宽度是一样的,如果我们将边框宽度设置为不同,那会怎样?则会形成等腰三角形。如下代码:

得到的结果如下图:
边框大小不一致后的显示 微课江湖

从等腰到不等腰
我们可以不局限于保留一条边框,我们可以保留两条,于是我们可以告别等腰,得到更加锐利的三角,正如一开始所展示的那个三角:

相邻边框显示的效果 微课江湖

实际的应用
关于应用,不多说,直接看图:

说明:
以上的测试代码纯粹为了说明原理,所以使用#ffffff白色边框,通过于背景融合来隐藏边框。在实际的操作中,应该使用transparent透明属性,例如border-color:#ff3300 #ff3300 transparent transparent;,这同样会有问题,IE6浏览器不支持transparent透明属性,不过没有关系,就border生成三角技术而言,直接设置对应的透明边框的border-style属性为dotted或是dashed即可解决这一问题,为什么使用dotted和dashed可以修复此问题呢?您有兴趣可以参见默尘的这篇文章Dotted&Dashed终极分析及IE6透明边框。

三、CSS border圆角生成技术简介

我看圆角
一提到圆角,我脑中闪过的词就是“定位”,“嵌套”,“模拟”,“渐进增强”,“滥用”。定位,也就是切四个角上下左右定位,这是淘宝首页的做法,但是面对IE6的奇偶bug只能当作看客;使用“嵌套”则不会有此问题,“嵌套”分图片背景嵌套和CSS边框嵌套,使用图片嵌套则图片的重用性,大小优化有待加强,边框嵌套则技术实现上有些难度;或使用“渐进增强”,CSS3 border-radius属性,而不要去鸟IE这类自我感觉良好的浏览器;或是学习Google使用CSS模拟,而一般的CSS模拟都是使用左右边框+背景色的方式1像素1像素的拼合成的。这类方法各有优缺点,需根据实际情况采用。对于满眼圆角的设计图我是很不喜欢的,该用则用,切勿为了圆角而圆角。

border圆角图案生成法
这里介绍的实现圆角的得到与上面提到的都是不一样的,虽然也属于CSS模拟的范畴,但是其高效的程度确实相当惊人的,可谓最佳实践之一。

我们先看看效果,见下图,截自Firefox3.6:

上述效果的实现仅仅使用了三个标签,如下代码:

CSS:

.box{width:500px;}.top{border-bottom:3px solid; border-top-color:#cc0000; border-bottom-color:#cc0000; border-left:3px dotted transparent; border-right:3px dotted transparent;}.center{padding:10px 20px; color:white; font-size:14px; background:#cc0000;}.bot{border-top:3px solid; border-top-color:#cc0000; border-bottom-color:#cccccc; border-left:3px dotted transparent; border-ri

您可能想查找下面的文章:

  • 深入浅析border和outline区别
  • 使用CSS的border属性构建变形边框的方法总结
  • css border属性的使用方法和技巧
  • 利用CSS3的border-radius绘制太极及爱心图案示例
  • css3 border旋转时的动画应用
  • CSS3 flex布局之快速实现BorderLayout布局
  • 深入浅析css3 border-image边框图像详解
  • 实例讲解CSS3中的border-radius属性
  • 详解CSS3中border-image的使用
  • CSS3使用border-radius属性制作圆角

相关文章

  • 2017-08-06CSS边界线消失的问题详解
  • 2017-08-06使用white-space来阻止文字显示自动换行
  • 2017-08-06深入浅析css3 border-image边框图像详解
  • 2017-08-06chrome表单自动填充导致input文本框背景变成偏黄色问题解决
  • 2017-08-06驯服CSS选择器
  • 2017-08-06让div透明而里面的文字不透明的写法
  • 2017-08-06动态的样式表lesscss:简单学习lesscss语法
  • 2017-08-06div层调整z-index属性在IE中无效原因分析及解决方法
  • 2017-08-06IE7、IE8、ff下的margin-top问题 折叠margin
  • 2017-08-06利用CSS实现书签效果实例源码

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • css设置滚动条颜色与样式以及如何去掉与隐藏滚动条
    • IE6下兼容性常见的几个问题与解决方法
    • CSS3属性background-size使用指南
    • 换个角度看页面重构中的语义化
    • 纯CSS实现漂亮的下拉导航效果代码
    • 用hover配合(纯css)position实现网页动态展示效果
    • CSS 的层叠规则说明
    • 纯css多种方法实现div中单行文字、多行文字及嵌套div垂直水平居中
    • DIV重叠 CSS让DIV层叠 两个DIV或多个DIV顺序重叠加
    • css3 iphone玻璃透明气泡完美实现

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有