0
点赞
收藏
分享

微信扫一扫

(二)盒子模型之边框border

杨小羊_ba17 2022-05-05 阅读 72
css

1.边框的组成及用法

border可以设置元素的边框,边框有三部分组成:边框宽度(粗细)、边框样式、边框颜色。

语法:

属性作用
border-width定义边框粗细,单位是px
border-style边框样式
border-color边框颜色

1.1 边框语法练习

<!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>盒子模型之边框</title>
    <style>
      /* 边框组成:边框宽度-border-width、样式-border-style、颜色-border-color */
      div {
        /* 设置div盒子的大小(高度和宽度) 单位px*/
        height: 300px;
        width: 300px;
        /* 边框宽度(粗细) 单位px*/
        border-width: 7px;
        /* 边框样式 solid实线边框  dashed虚线边框  dotted点线边框等*/
        /* border-style: solid; */
        /* border-style: dashed; */
        border-style: dotted;
        /* 边框颜色 */
        border-color: pink;
      }
    </style>
  </head>
  <body>
    <div></div>
  </body>
</html>

复合写法:

css边框属性允许你指定一个元素边框的样式和颜色。

边框简写:

边框可以分开写:

1.2 复合写法练习

<!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>边框复合型写法</title>
    <style>
      div {
        height: 200px;
        width: 200px;
        /* border-width: 5px;
        border-style: solid;
        border-color: pink; */
        /* 边框的复合型写法  border:border-width border-style border-color  没有顺序 */
        /* border: 5px solid pink; */
        /* 设置上边框 */
        border-top: 3px solid #000;
        /* 设置下边框 */
        border-bottom: 3px dashed red;
      }
    </style>
  </head>
  <body>
    <div></div>
  </body>
</html>

1.3 课堂练习

<!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>课堂练习</title>
    <style>
      /* 请给一个200*200的盒子  设置上边框为红色 其余边框为蓝色 */
      div {
        height: 200px;
        width: 200px;

        /* 分开写 */
        /* border-top: 1px solid red; */
        /* border-bottom: 1px solid blue;
        border-right: 1px solid blue;
        border-left: 1px solid blue; */

        /* 复合写 */
        border: 1px solid blue;
        /* 使用到了css三大属性中的层叠性  就近原则 */
        border-top: 1px solid red;
      }
    </style>
  </head>
  <body>
    <div></div>
  </body>
</html>

 2.表格的细线边框

border-collapse属性控制浏览器绘制表格边框的方式,它控制相邻单元格的边框。

语法:

  • collapse单词是合并的意思
  • border-collapse:collapse;表示相邻边框合并在一起

2.1练习

<!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>案例:小说排行</title>
    <style>
      /* table表格标签,th表头,tr表格中的行,td单元格  */
      td {
        /* 边框复合写法 */
        border: 1px solid pink;
        /* 细线边框border-collapse,控制相邻单元格的边框  
        语法:border-collapse:collapse;表示相邻边框合并在一起 */
        border-collapse: collapse;
        font-size: 12px;
        /* 文本属性的对齐方式:设置或检索对象中文本的对齐方式 */
        text-align: center;
      }

      table {
        height: 300px;
        width: 500px;
      }

      th {
        height: 40px;
      }
    </style>
  </head>
  <body>
    <table align="center" cellspacing="0">
      <tr>
        <th>排名</th>
        <th>关键词</th>
        <th>趋势</th>
        <th>今日搜索</th>
        <th>最近七日</th>
        <th>相关链接</th>
      </tr>

      <tr>
        <td>1</td>
        <td>鬼吹灯</td>
        <td><img src="D:\桌面\前端\html-第二天\案例\下降.png" /></td>
        <td>345</td>
        <td>123</td>
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
      </tr>

      <tr>
        <td>2</td>
        <td>盗墓笔记</td>
        <td><img src="D:\桌面\前端\html-第二天\案例\下降.png" /></td>
        <td>124</td>
        <td>675432</td>
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
      </tr>

      <tr>
        <td>3</td>
        <td>西游记</td>
        <td><img src="D:\桌面\前端\html-第二天\案例\上升.png" /></td>
        <td>212</td>
        <td>7654</td>
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
      </tr>

      <tr>
        <td>4</td>
        <td>东游记</td>
        <td><img src="D:\桌面\前端\html-第二天\案例\上升.png" /></td>
        <td>23</td>
        <td>74645</td>
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
      </tr>

      <tr>
        <td>5</td>
        <td>甄嬛传</td>
        <td><img src="D:\桌面\前端\html-第二天\案例\下降.png" /></td>
        <td>567654</td>
        <td>1321321</td>
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
      </tr>

      <tr>
        <td>6</td>
        <td>水浒传</td>
        <td><img src="D:\桌面\前端\html-第二天\案例\上升.png" /></td>
        <td>222345</td>
        <td>122123</td>
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
      </tr>

      <tr>
        <td>7</td>
        <td>三国演义</td>
        <td><img src="D:\桌面\前端\html-第二天\案例\上升.png" /></td>
        <td>345</td>
        <td>1723</td>
        <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
      </tr>
    </table>
  </body>
</html>

 3.边框会影响盒子实际大小

边框会额外增加盒子的实际大小,因此我们有两种方案解决:

1.测量盒子大小的时候,不量边框

2.如果测量的时候包含了边框,则需要width/height减去边框宽度

3.1练习

<!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>边框会影响盒子实际大小</title>
    <style>
      /* 做一个200*200的盒子,但是这个盒子有10像素的红色边框 */
      /* 设置div的高度和宽度为200*200 边框10像素  此时盒子的实际高度和宽度为220*220  与原需求盒子的大小不符 */
      /* div {
        height: 200px;  
        width: 200px;
        background-color: pink; 
        border: 10px solid red;  
      } */

      /* 要与原需求盒子大小相同,则div盒子的大小需要减去边框像素的大小  设置的成功后的盒子高度宽度才是200*200 */
      div {
        height: 180px;
        width: 180px;
        border: 10px solid red;
      }
    </style>
  </head>
  <body>
    <div></div>
  </body>
</html>
举报

相关推荐

0 条评论