深入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
属性也有一个更深的理解了。👏👏👏👏