深入border属性以及应用👏👏
border
这个属性在开发过程中很常用,常常用它来作为边界的。但是大家真的了解border吗?以及它的形状是什么样子的。
我们先来看这样一段代码:👏
<!-- * @Author: syk 185901261@qq.com * @Date: 2023-02-28 21:07:48 * @LastEditors: syk 185901261@qq.com * @LastEditTime: 2023-02-28 21:08:01 * @FilePath: \css面试题\13.drawTriangle\1.html * @Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box{ width: 200px; height: 200px; border: 3px solid red; border-color: red green yellow seashell; } </style> </head> <body> <div class="box"></div> </body> </html>
复制
它的效果图如下:
放大看,可以看到,每个border实际上是由一个高作为width
的题型来构成的。整个盒子的宽度就为内部矩形宽度加上边框宽度(两个梯形的高度)。那么,如果==我们将中间矩形的宽度设为0==,又会发生什么呢?👏
效果如图所示:
那么利用这个特点,我们就可以利用border
的特性来画出各个图形。👏
画三角形👏
<!-- * @Author: syk 185901261@qq.com * @Date: 2023-02-28 21:07:48 * @LastEditors: syk 185901261@qq.com * @LastEditTime: 2023-02-28 21:31:54 * @FilePath: \css面试题\13.drawTriangle\1.html * @Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin: 0; padding: 0; } .box{ width: 0; height: 0; border-top: 200px solid rebeccapurple; border-left: 200px solid royalblue; border-right: 200px solid rosybrown; } .box1{ width: 0; height: 0; border-top: 200px solid skyblue; border-right: 200px solid transparent; } </style> </head> <body> <div class="box"></div> <div class="box1"></div> </body> </html>
复制
效果图如下:
这里有一点,如果border只有两个边的话—左右哪里有空钻哪里(哪边没有写border钻到哪里),则会形成对三角形!!!
画扇形👏
先看如下代码:
<!-- * @Author: syk 185901261@qq.com * @Date: 2023-02-28 21:41:15 * @LastEditors: syk 185901261@qq.com * @LastEditTime: 2023-02-28 21:43:54 * @FilePath: \css面试题\14.drawSector\1.html * @Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box1{ width: 100px; height: 100px; border-radius: 10px; background-color: pink; border: 10px solid red; border-color: red seashell aqua palevioletred; } </style> </head> <body> <div class="box1"></div> </body> </html>
复制
border-radius
似乎就是把原本梯形的那部分换算成了扇形。依据这个原理,我们就可以做出扇形了。
第一步:从矩形变成圆形
<!-- * @Author: syk 185901261@qq.com * @Date: 2023-02-28 21:41:15 * @LastEditors: syk 185901261@qq.com * @LastEditTime: 2023-02-28 21:48:12 * @FilePath: \css面试题\14.drawSector\1.html * @Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box1{ width: 0; height: 0; border-radius: 10px; background-color: pink; border: 10px solid red; border-color: red seashell aqua palevioletred; } </style> </head> <body> <div class="box1"></div> </body> </html>
复制
第二步:扇形–隐藏边框
<!-- * @Author: syk 185901261@qq.com * @Date: 2023-02-28 21:41:15 * @LastEditors: syk 185901261@qq.com * @LastEditTime: 2023-02-28 21:51:10 * @FilePath: \css面试题\14.drawSector\1.html * @Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box1{ width: 0; height: 0; border-radius: 10px; border: 10px solid red; border-color: red transparent transparent transparent; } </style> </head> <body> <div class="box1"></div> </body> </html>
复制
画半圆👏
<!-- * @Author: syk 185901261@qq.com * @Date: 2023-02-28 21:41:15 * @LastEditors: syk 185901261@qq.com * @LastEditTime: 2023-02-28 21:51:10 * @FilePath: \css面试题\14.drawSector\1.html * @Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box2{ width: 100px; height: 100px; background-color: seagreen; border-radius: 50%; } </style> </head> <body> <div class="box2"></div> </body> </html>
复制
<!-- * @Author: syk 185901261@qq.com * @Date: 2023-02-28 21:41:15 * @LastEditors: syk 185901261@qq.com * @LastEditTime: 2023-02-28 21:57:29 * @FilePath: \css面试题\14.drawSector\1.html * @Description: * * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .box3{ background-color: red; width: 100px; height: 50px; border-radius: 0px 0px 100px 100px; } </style> </head> <body> <div class="box3"></div> </body> </html>
复制
到次为止,如果都对这些例子搞懂了,相信你对border
属性也有一个更深的理解了。👏👏👏👏