文章目录

  • 边框
    • 1. 边框说明
    • 2. 为元素设置边框
      • 2.1. 说明
      • 2.2. border-width
      • 2.3 border-color
      • 2.4 border-style
    • 3. 边框简写
  • 内边距
    • 1. 说明
    • 2. 影响
    • 3. 设置
  • 外边距
    • 1. 说明
    • 2. 属性
  • 外边距(垂直外边距的重叠)
    • 垂直外边距的重叠
  • 清除默认样式(清除浏览器默认内外边距,小白适用)
    • 1. 说明
    • 2. 示范

边框

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">.box {width: 200px;height: 200px;background-color: #bfa;border: red solid 10px;border-right: none;}</style></head><body><div class="box"></div></body>
</html>

1. 边框说明

  1. 大部分的浏览器中,边框的宽度和颜色都是有默认值的,

    • 而边框的样式默认值都是 none
.box {width: 200px;height: 200;background-color: #bfa;border-width: 10px;border-color: red;border-style: solid;border-right: none;
}

2. 为元素设置边框

2.1. 说明

  1. 要为一个元素设置边框必须指定三个样式

    • border-width:边框的宽度
    • border-color:边框颜色
    • border-style:边框的样式
.box1 {width: 300px;height: 300px;background-color: #bfa;border-width: 10px;border-color: red;border-style: solid;
}

2.2. border-width

  1. 使用 border-width 可以分别指定四个边框的宽度
  2. 如果在 border-width 中制定了四个值
    • 则四个值分别设置给上 右 下 左,顺时针的方向设置的
  3. 如果指定三个值,
    • 则三个值会分别设置给 上 左右 下
  4. 如果指定两个值
    • 则两个值会分别设置给 上下 左右
  5. 如果指定一个值 - 则四边全都是该值

    除了 border-width,CSS 中还提供了四个 border-xxx-width
    xxx 的值可能是 top right bottom left
    专门用来设置指定边的宽度

.box1 {width: 300px;height: 300px;background-color: #bfa;/* border-width: 10px 20px 30px 40px; *//* border-width: 10px 20px 30px; *//* border-width: 10px 20px; */border-width: 10px;/* border-left-width: 100px; */border-color: red;border-style: solid;
}

2.3 border-color

  1. 使用 border-color 可以设置边框的颜色
  2. 和宽度一样,color 也提供了四个方向的样式,可以分别指定颜色
    • border-xxx-color
.box1 {width: 300px;height: 300px;background-color: #bfa;border-width: 10px;/* border-color: red yellow orange blue; *//* border-color: red yellow orange; *//* border-color: red yellow; */border-color: red;border-style: solid;
}

2.4 border-style

  1. 使用 border-style 可以设置边框的样式
  2. 可选值:
    • none 默认值,没有边框
    • solid 实线
    • dotted 点状边框
    • dashed 虚线
    • double 双线
  3. style 也可以分别指定四个边的边框样式,规则和 width 一样,
    • 同时它也提供 border-xxx-style 四个样式,来分别设置四个边
.box1 {width: 300px;height: 300px;background-color: #bfa;border-width: 10px;border-color: red;/*border-style: solid;*//* border-style: double; */border-style: solid dotted dashed double;
}

3. 边框简写

  1. 边框的简写样式,通过它可以同时设置四个边框的样式,宽度,颜色

    • 而且没有任何的顺序要求
  2. border 一指定就是同时指定四个边不能分别指定
  3. 可以单独设置四个边的样式,规则和 border 一样,不过它只对一个边生效
    • border-top
    • border-right
    • border-bottom
    • border-left
.box {width: 200px;height: 200;background-color: #bfa;/* border-top: 10px red solid;border-left: 10px red solid;border-top: 10px red solid;border-bottom: 10px red solid;border-left: 10px red solid;*/border: red solid 10px;border-right: none;
}

内边距

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">.box1 {width: 200px;height: 200px;background-color: #bfa;border: 10px red solid;padding: 100px 200px 300px 400px;}/** 创建一个子元素box2占满box1*/.box2 {width: 100%;height: 100%;background-color: yellow;}</style></head><body><div class="box1"><div class="box2"></div></div></body>
</html>

1. 说明

  1. 内边距(padding),指的是盒子的内容区与盒子的边框之间的距离
  2. 一共有四个方向的内边距,可以通过,
    • padding-top
    • padding-right
    • padding-bottom
    • padding-left

      来设置四个方向的内边距

2. 影响

  1. 内边距会影响盒子的可见框的大小,元素的背景会延伸到内边距,

    • 盒子的大小由内容区、内边距和边框共同决定
  2. 盒子可见框的宽度 = border-left-width + padding-left + width + padding-right + border-right-width
  3. 可见框的高度 = border-top-width + padding-top + height + padding-bottom + border-bottom-width

3. 设置

  1. 设置单个边框
/*设置上内边距*/
padding-top: 100px;
/*设置右内边距*/
padding-right: 100px;
/*设置下内边距*/
padding-bottom: 100px;
/*设置左内边距*/
padding-left: 100px; */
  1. 使用 padding 可以设置四个边框的样式,规则和 border-width 一致
/* padding: 100px; *//* padding: 100px 200px; *//* padding: 100px 200px 300px; */padding: 100px 200px 300px 400px;

外边距

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">.box1 {width: 200px;height: 200px;background-color: #bfa;border: 10px solid red;margin-top: 100px;margin-left: 100px;margin: 0 auto;}.box2 {width: 200px;height: 200px;background-color: yellow;}</style></head><body><div class="box1"></div><div class="box2"></div></body>
</html>

1. 说明

  1. 外边距指的是当前盒子与其他盒子之间的距离

    • 它不会影响可见框的大小,而是会影响到盒子的位置。
  2. 由于页面中的元素都是靠左靠上摆放的,
    • 所以注意当我们设置上和左外边距时,会导致盒子自身的位置发生改变
    • 而如果是设置右和下外边距会改变其它盒子的位置

2. 属性

  1. 盒子有四个方向的外边距,

    • margin-top
    • margin-right
    • margin-bottom
    • margin-left
/*
* 设置box1的上外边框和其他盒子的距离
*/
margin-top: 100px;/*
* 左外边距
*/
margin-left: 100px;/*
* 设置右和下外边距
*/
margin-right: 100px;margin-bottom: 100px;
  1. 负值外边距

    • 外边距也可以指定一个负值
    • 如果外边距设置的是负值,则元素会向反方向移动
margin-left: -150px;margin-top: -100px;margin-bottom: -100px;margin-right: -100px;
  1. 自动设置外边距

    • margin 还可以设置为 auto,auto 一般只设置给水平方向的 margin

      1. 如果只指定,左外边距或右外边距的 margin 为 auto 则会将外边距设置为最大值
      2. 垂直方向外边距如果设置为 auto,则外边距默认就是 0
    • 如果将 left 和 right 同时设置为 auto,则会将两侧的外边距设置为相同的值
      1. 就可以是元素自动在父元素居中,所以我们经常将左右外边距设置为 auto
      2. 以使子元素在父元素中水平居中
margin-left: auto;
margin-right: auto;
  1. 简写

    • 外边距同样可以使用简写属性 margin,可以同时设置四个方向的外边距,
    • 规则和 padding 一样
margin: 0 auto;

外边距(垂直外边距的重叠)

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">.bxo1 {width: 100px;height: 100px;background-color: red;/** 为上边的元素设置一个下外边距*/margin-bottom: 100px;}.box2 {width: 100px;height: 100px;background-color: green;/** 为下边的元素设置一个上外边距*/margin-top: 100px;}.box3 {width: 200px;height: 200px;background-color: yellow;/*为box3设置一个上边框*//* border-top: 1px red solid; *//* padding: 1px; */padding-top: 100px;}.box4 {width: 100px;height: 100px;background-color: green;/** 为子元素设置一个上外边距,使子元素的位置下移*/margin-top: 100px;}</style></head><body><div class="box3"><div class="box4"></div></div><div class="box1"></div><div class="box2"></div></body>
</html>

垂直外边距的重叠

  1. 在网页中相邻的垂直方向的外边距会发生外边距的重叠
  2. 所谓的外边距重叠指的是兄弟元素之间的相邻外边距会取最大值而不是取和
  3. 如果父子元素的垂直外边距相邻了,则子元素的外边距会设置给父元素

清除默认样式(清除浏览器默认内外边距,小白适用)

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">* {margin: 0;padding: 0;}.box1 {width: 100px;height: 100px;background-color: #bfa;}p {background-color: yellow;}</style></head><body><div class="box1"></div><p>我是一个段落</p><p>我是一个段落</p><p>我是一个段落</p><ul><li>无序列表</li><li>无序列表</li><li>无序列表</li><li>无序列表</li></ul></body>
</html>

1. 说明

  1. 浏览器为了在页面中没有样式时,也可以让页面有一个比较好的显示效果。

    • 所以为很多的元素都设置了一些默认的 margin 和 padding,
    • 而它的这些默认样式正常情况下我们是不需要使用的
  2. 所以我们往往在编写样式之前需要将浏览器默认的 margin 和 padding 统统的去掉

2. 示范

清除浏览器的默认样式

* {margin: 0;padding: 0;
}

CSS-边框和边距详解相关推荐

  1. html css主题,HTML+CSS=无限可能——案例详解:我的POI主题作品

    原标题:HTML+CSS=无限可能--案例详解:我的POI主题作品 在微博发了这个作业,收到很多好评,实在太开心! 斌叔让我来投稿,那今天就以这个网页为案例,把制作过程中我的方法和经验分享给大家. 作 ...

  2. CSS clear 属性取值详解

    之前有整理过一部分知识点, 一直没有发布, 因为都是有关 前端 方面的零散内容; 现在想想无论分享什么内容都需要慢慢积累, 所以还是决定将之前整理的相关内容验证之后慢慢分享给大家 这个专题 就是 工作 ...

  3. html网页中圆角边框的编写,Html实现边框圆角的实例详解

    这篇文章主要为大家详细介绍了html轻松实现圆角矩形的方法,告诉大家如何通过p+css以及定位来实现圆角矩形?感兴趣的小伙伴们可以参考一下 问题:如何通过p+css以及定位来实现圆角矩形? 解决方法概 ...

  4. 定义html表格的大小和位置,点晴OA工作流表单设计:表格table及宏控件的HTML、CSS、字体参数教程详解...

     点晴OA工作流表单设计:表格table及宏控件的HTML.CSS.字体参数教程详解 说明:虽然点晴OA内置了强大的富文本编辑器,但是很多时候还是难以实现理想的精确显示效果,为了实现满意的显示效果,网 ...

  5. CSS中的BFC BFC详解 BFC可以解决的问题汇总

    CSS中的BFC BFC详解 BFC可以解决的问题汇总 简介 BFC 全称 Block Formatting Context, 名为 "块级格式化上下文"它是CSS2.1规范定义的 ...

  6. CSS边框,背景,边距,溢出

    CSS边框,背景,边距,溢出 css边框属性 border:宽度 样式 颜色; border-color; border-style; 边框样式:solid实现,dotted点状线,dashed虚线 ...

  7. CSS边框、边距、轮廓(边框宽度/颜色/各边/简写属性/圆角边框/内外边距/高度宽度/框模型/轮廓宽度/颜色/属性/偏移)——万字长文|一文搞懂

    目录 CSS边框 CSS 边框属性 CSS 边框样式 实例 CSS 边框宽度 实例 特定边的宽度 实例 CSS 边框颜色 实例 特定边框的颜色 实例 HEX 值 实例 RGB 值 实例 HSL 值 实 ...

  8. css中的position定位详解

    css中的position定位详解 position属性指定了元素的定位类型. position属性的5个值:static,relative,fixed,absolute,sticky; 元素可以使用 ...

  9. CSS transition(过渡效果)详解

    CSS transition(过渡效果)详解 通常当 CSS 的属性值更改后,浏览器会立即更新相应的样式,例如当鼠标悬停在元素上时,通过 :hover 选择器定义的样式会立即应用在元素上.在 CSS3 ...

  10. CSS动画(animation)详解

    CSS动画(animation)详解 通过<CSS过渡>一节的学习我们知道,利用 transition 属性可以实现简单的过渡动画,但过渡动画仅能指定开始和结束两个状态,整个过程都是由特定 ...

最新文章

  1. [codevs1022]覆盖
  2. java的数值类型举例_Java基本类型(示例代码)
  3. boost::geometry::is_empty用法的测试程序
  4. saas- -m ihrm 项目_Convertlab等企业入选腾讯SaaS加速器二期名单
  5. 发际线对于一个人的颜值影响有多大?
  6. 实时计算Flink 快速入门 —— 步骤二:注册上下游存储
  7. Java 序列化漏洞多到修不完
  8. 儿童学计算机编程好处,十个理由告诉你孩子为什么要学习编程?
  9. 数据分析相关职位分析与可视化
  10. C#如何在VS2015 2017版本中编写WPF UI界面引入第三方SVG图形
  11. VsCode创建第一个vue项目
  12. Springboot 使用JPA Repository 注入失败问题
  13. UnionPay,ChinaPay 最新 银联支付接口C#\Asp.net\MVC 版本
  14. 出战LOL,攻击类常见装备有什么?
  15. Peter Schiff:如果大饼跌破3万刀,那么它将跌破1万
  16. 数学总体框架及各分类学科框架
  17. 安装oracle采用自动备份,Oracle 在window下自动备份
  18. 石化人员定位方案:uBeacon+ibeacon融合定位特点
  19. 北京邮电大学张勇:量子计算的场景落地还需要很长一段时间
  20. 440P 测试三星ssd840pro 512g

热门文章

  1. 建站的原型图是什么意思?
  2. gallery3d源码学习总结(一)——绘制流程drawFocusItems
  3. 分类指标计算 Precision、Recall、F-score、TPR、FPR、TNR、FNR、AUC、Accuracy
  4. LInux常用的60个命令,小白必须掌握的命令
  5. C++不重起Windows直接更改IP地址
  6. Fluxion安装教程
  7. [漫画]120430 混血男孩
  8. 这次彻底读透 Redis
  9. php 5.3.3 漏洞,PHP 5.3.7版本更新 修复安全漏洞
  10. ApacheCN 翻译、校对、笔记整理活动(有偿)进度公告 2022.7