第一节:border-width
的特性
border-width
不支持百分比
- 原因:
border
的语义决定,所谓border
边框,不会因为设备的大小的变化而按比例变化,所以百分比单位不符合语义。 - 另外 CSS3 中类似不支持百分比的属性还有
outline
,box-shadow
,text-shadow
,……
border-width
还支持关键字:
- thin: 1px
- medium(默认值): 3px
- thick: 5px
为什么border-width
的默认值是medium(3px)呢?明明thin(1px)更加常用!
因为border-style: double
至少要3px才有效果。
第二节: 各种border-style
类型
-
border-style: solid
实线,很熟,pass -
border-style: dashed
虚线,
-
border-style: dotted
点线,overflow: hidden
隐藏不必要的区域,只显示一个圆。 -
border-style: double
双线 -
border-style: inset
内凹, -
border-style: outset
外凸 -
border-style: groove
沟槽 -
border-style: ridge
山脊
以上四种毫无价值:风格过时+兼容性差
第三节:border-color
与color
-
border-color
就是color
,换句话说,border-color
默认颜色就是color
类似的属性还有
box-shadow
,text-shadow
,……-
使用案例:hover 图形变色,传统方法需要三处 CSS 变色,使用该技巧只需要一处 CSS 变色
传统方法实现:
利用borer
实现:transition
过渡颜色也只要设置一次
第四节:border
与background
定位
-
background
定位的局限:只能相对于左上角数值定位,不能相对右下角
怎么办? 可以借助border
大法,只要在右侧设置一个需求宽度的透明border
即可
第五节:border
与三角等图形构建
-
温故而知新:
-
实现三角形
-
实现梯形
-
三角是如何产生的
只要将其他三个设置为透明即可 -
实际应用场景:各种三角、尖角
-
更加高级应用:模拟圆角
(好处:兼容性好,border-radius
低版本 IE 不支持 )
实现原理
放大看详情:上边的梯形
第六节: border
与透明边框
border
的透明边框很有用!因为:始于 IE7 ,足够兼容!
-
实例场景
传统设计
border
透明边框用来增大点击区域,需要显示的边框用box-shadow
阴影来代替 -
高级实例场景:用
drop-shadow
可以给png图标赋色
然后通过position
定位 和overflow: hidden
使图标变色。
但是!!
第七节:border
在布局中的应用
-
border
与等高布局
-
好处:如果是
padding
,margin
实现,因为使用了很大的负值,所以在锚点定位时候会出问题,而border
不会出现此问题 - 坏处:不支持百分比宽度