认识border

  • Post author:
  • Post category:其他



border就是边框。边框有三个要素:粗细、线型、颜色。


颜色如果不写,默认是黑色。另外两个属性不写,要命了,显示不出来边框。




<


style


>





div

{





padding

:

0

;



}




.box

{





width

:

300px

;




height

:

300px

;




/* 边框的3个要素,其中颜色,可以省略不写。不写默认是黑色。 */





border

:

3px


solid

;



}




<


/


style


>





</


head


>





<


body


>





<


div


class

=

“box”


>





</


div


>




线型的设置:




/*


dotted


点虚线 */





border

:

3px


dotted


blue

;




/* dashed矩形虚线 */





border

:

3px


dashed


blue

;




/* solid实线 */





border

:

3px


solid


blue

;




/* double内外双实线 */





border

:

3px


double


blue

;




/* groove沟槽状边框 */





border

:

50px


groove


blue

;




/* ridge菱形边框 */





border

:

50px


ridge


blue

;

可以发现菱形边框与沟槽状边框的区别是亮面和暗面相反




/* inset3D凹边 */





border

:

50px


inset


blue

;




/* outset3D凸边 */





border

:

50px


outset


blue

;

凹凸边的亮暗也是相反的



不过线型在不同浏览器有不同的显示效果比如,border:10px ridge red; 在chrome和firefox、IE中有细微差别:





chrome:







firefox:







IE:







谷歌和火狐差别不大,但ie的颜色明显深了很多





border属性能够被拆开


border是一个大综合属性,


border:1px solid red;


border属性能够被拆开,有两大种拆开的方式:1) 按3要素:border-width、border-style、border-color2) 按方向:border-top、border-right、border-bottom、border-left



把边框border按3要素:




<


style


>





.box

{





width

:

300px

;




height

:

300px

;




/* 按3要素拆开: */





border-width

:

30px

;




border-style

:

solid

;




border-color

:

aqua

;



}




<


/


style


>





</


head


>





<


body


>





<


div


class

=

“box”


>





</


div


>





</


body


>








如果某一个小要素后面是空格隔开的多个值,那么就是





上右下左





的顺序








/* 10px 20px —上下10  左右20 */





border-width

:

10px


20px

;




/* solid dashed dotted — 上solid  左右dashed  下dotted */





border-style

:

solid


dashed


dotted

;




/* red green blue yellow — 上red  右green 下blue 左yellow */





border-color

:

red


green


blue


yellow

;






把边框border按方向来拆开







<


style


>





.box

{





width

:

300px

;




height

:

300px

;




/* 按照方向拆分 */





border-top

:

30px


solid


red

;




border-right

:

30px


solid


green

;




border-bottom

:

30px


solid


blue

;




border-left

:

30px


solid


yellow

;



}




<


/


style


>





</


head


>





<


body


>





<


div


class

=

“box”


></


div


>





</


body


>





把边框border按方向还能再拆一层,





就是把每个方向的,每个要素拆开,一共12条语句:




/* 边框按方向还能再拆一层把每个方向按照3要素写 */





border-top-width

:

30px

;




border-top-style

:

solid

;




border-top-color

:

red

;




border-right-width

:

30px

;




border-right

:

solid

;




border-right-color

:

green

;




border-bottom-width

:

30px

;




border-bottom-style

:

solid

;




border-bottom-color

:

aqua

;




border-left-width

:

30px

;




border-left-style

:

solid

;




border-left-color

:

blue

;


border可以没有




<


style


>





.box

{





width

:

300px

;




height

:

300px

;




background-color

:

red

;




/* 4个边都没有边框 */





/* border: none; */





border

:

30px


solid


blue

;




/* 某一个边没有边框 */





border-left

:

none

;



}



<


/


style


>




</


head


>





<


body


>





<


div


class

=

“box”


>

盒子

</


div


>




outline轮廓线


outline轮廓线 在边框线的外面,它和盒模型没有任何关系。轮廓线不占据页面宽度。


去除input文本框的轮廓线:outline: none;




<


style


>




.txt


{





width

:

300px

;




height

:

26px

;




line-height

:

26px

;




border

:

1px


solid


greenyellow

;




outline

:

none

;



}




<


/


style


>





</


head


>





<


body


>




<


input


type


=


“text”


name


=


“”


id


=


“”


class


=


“txt”


>




</


body


>




轮廓线不占据页面宽度。




outline

:

20px


solid


orange

;


所以,我们在实际项目中编写页面的时候,我们通常使用outline轮廓线去查看当前某个区块在页面中的位置。



border可以透明


透明是让颜色不可见,但是具体的某个方向的边框实际在浏览器渲染的时候,边框还是存在。




<


style


>





.box

{





width

:

0px

;




height

:

0px

;




border-top

:

200px


solid


transparent

;




border-right

:

200px


solid


green

;




border-bottom

:

200px


solid


transparent

;




border-left

:

200px


solid


transparent

;



}




<


/


style


>





</


head


>





<


body


>





<


div


class

=

“box”


></


div


>





</


body


>


border制作小箭头:




<


style


>





.arrow

{





width

:

20px

;




height

:

20px

;




border-top

:

1px


solid


red

;




border-left

:

1px


solid


red

;




transform

:

rotate

(

45deg

);




margin

:

50px


0


0


50px

;



}




<


/


style


>





</


head


>





<


body


>





<


div


class

=

“arrow”


></


div


>





</


body


>




如上代码,三角形箭头原理:正方形的任意相邻的两边线然后旋转一定的角度,得到我们需要的任意方向的箭头,deg角度单位,rotate旋转角度.

  1. 小三角形的大小由正方形的宽高去控制

  2. 小三角形的粗细由border边框线的宽度去控制

  3. 小三角形的颜色由border边框线的颜色去控制



版权声明:本文为qq_53632966原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。