CSS解读之border属性
来源:互联网 发布:怎么在淘宝上卖衣服 编辑:程序博客网 时间:2024/06/05 04:31
之前刚学习CSS的时候,对于border的属性渲染结果的理解很想当然,一开始就自然而然的认为border属性就是给容器外边加上了四条直线,这种理解一直伴随我很长的时间,不过由于一般对于border属性的运用都很普通,因此也不会出现什么问题,而所看的一些有关CSS的书上也并未做更深的讲解,所以我未能及早的察觉出来。当然,有的人会说,正是你有这样理解,所以你也不可能想到利用border属性还能做出其他的效果。是的,自己的认知会局限思维的宽度,更何况是错误的认知。所以我们在学习知识的时候要尽可能的更进一步,仅仅停留于如何运用是远远不够的。
正如开头所说,一般对于border的运用都是用来设置容器的边框,而却,一般对于容器的边框都做统一设定,比如:
<style type="text/css"> div { width: 50px; height: 50px; border: 1px solid #000; } </style>
类似上述的代码我想大家应该经常用到,正因为运用都很普通,所以不可能察觉到border属性渲染的结果到底应该是怎么样的。
将以上代码修改如下:
<style type="text/css"> div { width: 50px; height: 50px; border-top: 50px solid #ddd; border-right: 50px solid #888; border-bottom: 50px solid #ddd; border-left: 50px solid #888; } </style>
将border分开设定,并将border的宽度调整到50px,相邻的两边分别设定不同的颜色以区分,在浏览器里可以查看到如图1-1的效果。
图1-1
当我看到如图1-1的时候,我非常惊讶,原来容器的border是这么组成的,开始我还以为我搞错了,后台多次验证,还在不同的浏览器下做测试,均得到了同样的结果。为了更加权威的证实这点,我又去网上查阅相关资料,由于网上对border的讲解都只是一些如何运用,因此也没有找到合理的解释。
在图1-1中我们可以看到,四个边框并没有像我以为的是有四条直线叠加而成,那么为什么不是由四条直线组成了,假设其渲染方式是由四条直线组成的话,而却是按照顺时针的方向从上开始的话,会得到如图1-2的结果。
图1-2
对比图1-2和图1-1可以看出,图1-2的效果一定不是我们想要的,如果边界的颜色采用CSS3.0的RGBA的话,还会存在颜色叠加的问题,因此也反证了这样渲染方式的不合理性。图1-1的渲染方式可以有效的将四边平分,从而避免了图1-2中出现的问题。但是我们可能会想,那么按照图1-1的方式,每条边是不是图1-1的梯形呢?为了验证下,修改代码如下:
<style type="text/css"> div { width: 50px; height: 50px; border-top: 50px solid #ddd; border-right: 50px solid #888; border-bottom: 50px solid #ddd; border-left: 0; } </style>
上面的代码主要将左边的边框宽度设为0,如果按照上述设想,那么运行结果应该是图1-1中少了一个左边的梯形。实际结果如图1-3。
图1-3
结果又一次的并非符合我们的预期,其实我们可以继续来假设,这里就不赘述了,总之一句话,无论怎么去证实,图1-3都是最合理的结果。
- CSS解读之border属性
- CSS解读之border属性的其他用途
- css 之 border-radius属性
- CSS+DIV之强化border属性
- CSS解读之换行属性
- css中的border属性
- CSS border 属性
- CSS border-collapse 属性
- CSS border-width 属性
- 重温CSS:Border属性
- CSS border-style 属性
- 理解css border属性
- CSS border-collapse 属性
- css border 属性
- CSS border-collapse 属性
- css中的border属性。。。。。
- CSS border-style 属性
- CSS border-spacing 属性
- Struts2 第二篇 Action名称的搜索路径
- Hadoop eclipse开发解决Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException
- 解决Oracle ORA-12505, TNS:listener does not currently know of SID given in connect
- SpannableString 动态设置textView中字体颜色和大小
- oracle 11g 添加emp表
- CSS解读之border属性
- Android开源项目收集
- 页面表格字段过长的处理方法
- 使用XML配置页面
- FreeBSD安装汉字输入法:SCIM(成功了)
- GDBServer Extender——为GDB添加扩展功能
- iOS NSRunloop
- Android数据库安全解决方案,使用SQLCipher进行加解密
- 学.Net四大优势必选广州传智播客