CSS 内容盒子

news2024/11/13 16:30:27

这章比较重要,会不断更新❗

文章目录

  • 内容盒子
  • 开发者工具的使用
  • border 边框
  • padding 内边距
  • margin 外边距
  • 盒子整体尺寸
  • 元素默认样式与CSS重置
  • 元素分类
    • 块级标记
    • 行级标记
    • 行内块标记
  • display样式
  • 内容溢出
    • 裁剪掉溢出部分
    • 滚动条
  • 圆角边框 border-radius


内容盒子

提示:这里可以添加本文要记录的大概内容:

每个HTML元素都是一个矩形盒子,由四个部分组成:

宽度、高度:指的是盒子中装的内容尺寸,并不是盒子整体的尺寸
边框:盒子本身有边框(border)
内边距:盒子里面的内容到盒子边框之间的距离即内边距(padding)
外边距:盒子边框外和其他盒子之间,还有外边距(margin)

在这里插入图片描述

开发者工具的使用

下面的内容用到了开发者工具:右键检查或F12显示
方便对前端代码调试

单击想调试的标签,这里以div举例
js用的是控制台,下面图内代码用的的HTML+CSS,选择的是元素
在这里插入图片描述
单击下面的样式
会看到写的样式代码
在这里插入图片描述
往下看图:
蓝色框就是内容框300px*300px
绿色框就是内边距
最外面的一圈是外边距
在这里插入图片描述
把鼠标放在图内,在左侧效果图内会显示对应的位置
在这里插入图片描述

右键检查后如果代码有删除线,说明代码失效,没用到
在这里插入图片描述


border 边框

边框样式主要有以下几种:

  1. 实线边框:使用border-style: solid;

  2. 虚线边框:使用border-style: dashed;

  3. 边框宽度:使用border-width: Npx;

  4. 双线边框:使用border-style: double;

  5. 无边框:使用border-style: none;

  6. 边框颜色(红):使用border-color: red;

【示例代码】:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
    <style>
        .d1{
            width: 300px;
            height: 300px;
            /* width和height指的是盒子内容的尺寸,并不是盒子整体尺寸 */
            /* border 边框样式 solid实线框,dashed-虚线框 */
            border: red 1px solid;
            /* 右边框单独设置粗细 */
            border-right-width: 5px;
            /* 上边框单独设置颜色 */
            border-top-color: #000;
            /* 下边框单独设置样式(虚线) */
            border-bottom-style: dashed;
        }
    </style>
</head>
<body>
    <div class="d1">
        内容
    </div>
</body>
</html>

输出效果
在这里插入图片描述

padding 内边距

padding:内边框,指的是边框和内容的距离,四个方向

padding-left:设置左内边距

【示例代码】:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
    <style>
        .d1{
            width: 300px;
            height: 300px;
            /* width和height指的是盒子内容的尺寸,并不是盒子整体尺寸 */
            /* border 边框样式 solid实线框,dashed-虚线框 */
            border: red 1px solid;

            /* `padding`:内边框,指的是边框和内容的距离,四个方向 */
            padding-left: 100px;
        }
    </style>
</head>
<body>
    <div class="d1">
        内容
    </div>
</body>
</html>

输出效果及解释:
在这里插入图片描述


padding-top:设置上内边距

【示例代码】:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
    <style>
        .d1{
            width: 300px;
            height: 300px;
            /* width和height指的是盒子内容的尺寸,并不是盒子整体尺寸 */
            /* border 边框样式 solid实线框,dashed-虚线框 */
            border: red 1px solid;
            /* padding:内边框,指的是边框和内容的距离,四个方向 */
            padding-top: 30px;
        }
    </style>
</head>
<body>
    <div class="d1">
        内容
    </div>
</body>
</html>

输出效果及解释:
在这里插入图片描述


padding-right:设置右内边距

【示例代码】:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
    <style>
        .d1{
            width: 300px;
            height: 300px;
            /* width和height指的是盒子内容的尺寸,并不是盒子整体尺寸 */
            /* border 边框样式 solid实线框,dashed-虚线框 */
            border: red 1px solid;

            /* padding:内边框,指的是边框和内容的距离,四个方向 */
            padding-right: 10px;
        }
    </style>
</head>
<body>
    <div class="d1">
        内容
    </div>
</body>
</html>

输出效果及解释:
在这里插入图片描述


padding-bottom:设置下内边距,与上方例子类似,最好四个方法放在一起试

padding: 10px; 意思是:设置上下左右内边距都是10px
padding: 10px 20px; 意思是:设置上下内边距都是10px,左右内边距是20px
padding: 10px 20px 30px 40px; 意思是:设置上内边距是10px,右内边距是20px,下内边距是30px,左内边距是40px,按顺时针方向走,上右下左

margin 外边距

margin:外边距(上右下左)

margin:外边距,盒子与其他盒子边框之间的距离,有四个方向

margin-top:盒子与其他盒子之间上侧距离
margin-right:盒子与其他盒子之间右侧距离
margin-bottom:盒子与其他盒子之间下侧距离
margin-left:盒子与其他盒子之间左侧距离

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
    <style>
        .d1{
            width: 300px;
            height: 300px;
            /* width和height指的是盒子内容的尺寸,并不是盒子整体尺寸 */
            /* border 边框样式 solid实线框,dashed-虚线框 */
            border: red 1px solid;
            /* margin:外边距,盒子与其他盒子边框之间的距离,有四个方向 */
            margin-left: 50px;
            margin-top: 100px;
            margin-right: 40px;
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
    <div class="d1">
        内容
    </div>
</body>
</html>

输出效果:
在这里插入图片描述
当然也可以四合一:
margin: 10px;:代表四个方向的盒子与其他盒子之间的距离都是10px

margin: 10px 5px;:代表两个盒子之间距离上下是10px,左右是5px

margin: 10px 5px 7px 15px;:代表两个盒子之间距离上是10px,右是5px,下是7px,左是15px。顺时针方向

margin: 0 auto 在父标记中水平居中

margin: 0 auto;

这里的0是上下边距(margin-top 和 margin-bottom)的值
auto是左右边距(margin-left 和 margin-right)的值

使用这个代码,左右的margin将自动设置为相等的值,从而使元素在父元素中水平居中。

【示例代码:】

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .d1{
            box-sizing: border-box;
            width: 300px;
            height: 300px;
            /* width和height指的是盒子内容的尺寸,并不是盒子整体的尺寸 */
            /* border: 边框样式 
            solid实线框  dashed虚线框*/
            border: red 1px solid;

        }
        .d2{
            /* width和height指的是盒子内容的尺寸,并不是盒子整体的尺寸 */
            width: 100px;
            height: 100px;
            /* 三个值:颜色、粗细、样式(三个值之间顺序无所谓) */
            border: solid 2px blue;
            /* 在父标记中水平居中 */
            margin: 0 auto;
        }

    </style>
</head>
<body>
    <div class="d1">
        内容
        <div class="d2">
        </div>
    </div>

</body>
</html>

输出效果
在这里插入图片描述
注意:该元素的宽度必须小于父元素的宽度才能实现水平居中。

盒子整体尺寸

盒子总尺寸=border(两个边框宽度)+padding(两个内边距宽度)+内容宽度(width)

盒子模型占用空间=margin(两个外边距宽度)+盒子模型总尺寸

元素默认样式与CSS重置

常用元素默认样式:

  1. 标签的margin为8px
  2. p标签的上下外边距为16px
  3. h1标签的上下外边距为21.440px
  4. ul标签的上下外边距也为16px,左内边距也为40px

CSS重置:在实际开发中,不同的浏览器有着不同的默认样式,这导致了在样式设置时可能会出现兼容性问题。为了解决这个问题,开发者可以使用一些 CSS 重置工具,通过覆盖浏览器的默认样式来统一不同浏览器的表现。这样开发者就可以更加方便地设置自己想要的样式,同时提高网站或应用的兼容性。

重置样式表通常包括以下内容:

/* 重置所有元素的边框、内边距、外边距为零 */
* {
  margin: 0;
  padding: 0;
  border: 0;
}

/* 标题样式重置 */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

/* 链接样式重置 */
a {
  color: inherit;
  text-decoration: none;
}

/* 列表样式重置 */
ul, ol {
  list-style: none;
}

/* 表单元素样式重置 */
input, textarea, select {
  font-size: inherit;
  font-family: inherit;
  border-radius: 0;
}

/* 其他元素样式重置 */
img, video {
  max-width:100%; 
  height:auto;
}

重置样式表不是解决所有CSS问题的,而是一种起点。
通过重置样式并自己定义样式,可以确保在所有浏览器中呈现一致的外观和行为。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        /* 内外边距清0 */
        body,h1,p,ul{
            padding: 0;
            margin: 0;
        }
        a{
           /* 超链接默认下划线去掉 */
            text-decoration: none;
        }
    </style>
</head>
<body>
    内容
    <h1>一级标题</h1>
    <p>段落</p>
    <ul>
        <li>123</li>
        <li>321</li>
    </ul>
    <a href="#">失控</a>
    
</body>
</html>

输出效果:
在这里插入图片描述

元素分类

块级标记

块级标记有:h1-h6、p、table、form、header、div、ul、ol、dl,等标签都是块级元素

块级标记,独占一行显示

【示例代码】:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 块级标记 独占一行显示 */
    </style>
</head>
<body>
    <div>
        块级标记
    </div>
    <span>范围标记</span>
</body>
</html>

输出效果:
在这里插入图片描述

块级标记宽度不设置的话默认会撑满父标记,高度不设置的话默认由实际内容撑开

【示例代码】:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 块级标记 宽度不设置的话默认会撑满父标记 高度不设置的话默认由实际内容决定*/
        div{
            background-color: aqua;
        }
    </style>
</head>
<body>
    <div>
        块级标记<br>二哈喇子
    </div>
    <span>范围标记</span>
</body>
</html>

输出效果:
在这里插入图片描述

块级标记支持设置所有的盒子样式属性

行级标记

  1. 行级标记可以和其他的行标记共处一行,从左向右显示
  2. 行级标记的宽度高度默认都是由实际内容
  3. 行级标记不支持设置宽度和高度,边框可以、内边距可以、左右外边距可以
  4. 常见行标记:span范围、a超链接、strong加粗、i字体图标

span标签就是典型的行级标记

【示例代码】:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        span{
            background-color: skyblue; 
            /* 行级标记不支持设置宽度和高度 */
            width: 500px;
            height: 600px;
            
            border: 2px solid green;
            padding: 5px;
            margin-right: 200px;
            
            /* 行级标记不支持设置上下外边距 */
            margin-top: 200px;
        }
    </style>
</head>
<body>
    <span>张三</span>
    <span>李四</span>
</body>
</html>

输出效果:
在这里插入图片描述

行内块标记

它既可以像行内元素一样在文本行内显示,也可以像块级元素一样设置宽高等属性。

  1. 行内块标记:可以和其他的行级标记和行内块标记从左向右共处一行显示
  2. 行内块标记的宽度、高度默认是由实际内容决定
  3. 行内块标记支持设置所有的盒子样式属性
  4. 常见的行内块标记:imginputselectbuttontextarea

【示例代码】:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        button{
            width: 200px;
            height: 50px;
            border: none;       /* 按钮边框去掉 */
            margin-top: 50px;   /* 上外边距 */
        }
    </style>
</head>
<body>
    <span>范围</span>
    <button>这是一个行内块元素的按钮</button>
    <input type="text">
</body>
</html>

输出效果:
在这里插入图片描述

display样式

none隐藏显示

【示例代码】:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        span{
            display: none;
        }
    </style>
</head>
<body>
    <span>爱上你</span>
    <span>算我失控</span>
</body>
</html>

输出显示什么都没有,只是隐藏了,并不是什么都没有

输出效果:
在这里插入图片描述

inline-block显示成行内块

【示例代码】:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        span{
            display: inline-block;
            width: 200px;
            height: 200px;
            border: 3px solid skyblue;
        }
    </style>
</head>
<body>
    <span>爱上你</span>
    <span>算我失控</span>
</body>
</html>

行内块显示
在这里插入图片描述
block显示成块级标记
inline-block换成block,则会在一行显示
在这里插入图片描述

inline显示成行级

宽高失效
在这里插入图片描述

内容溢出

overflow:溢出样式,默认是展示溢出的部分
hidden:裁剪掉溢出的部分
auto:出现滚动条

【示例代码】:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            border: 1px red solid;
        }
    </style>
</head>
<body>
    <div>
        wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
    </div>
</body>
</html>

输出效果: 数据溢出(设计的尺寸装不下实际内容)
在这里插入图片描述

裁剪掉溢出部分

div{}内加上: overflow: hidden;

把不显示的内容裁掉
在这里插入图片描述

滚动条

div{}内加上: overflow: auto;

出现滚动条,把溢出部分显示出来
在这里插入图片描述

圆角边框 border-radius

【示例代码】:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div{
            width: 300px;
            height: 300px;
            border: 3px solid greenyellow;
        }
    </style>
</head>
<body>
    <div>
        爱上你算我失控
    </div>
</body>
</html>

默认的角是直角
在这里插入图片描述
现在角度是直角,如果将区域设置成圆形,要求:宽高一致,边框半径二分之一宽高

另外加上水平居中:text-align: center;与垂直居中:line-height: 300px;

【示例代码】:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div{
            width: 300px;
            height: 300px;
            border: 3px solid greenyellow;
            /* border-radius 边框半径 */
            /* 越大弧度越明显 */
            border-radius: 150px;   
            /* 水平居中 */
            text-align: center;
            /* 垂直居中 */
            line-height: 300px; 
        }
    </style>
</head>
<body>
    <div>
        爱上你算我失控
    </div>
</body>
</html>

输出效果:
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/697896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云原生之使用Docker部署Firefox浏览器

云原生之使用Docker部署Firefox浏览器 一、Firefox浏览器介绍1.1 Firefox简介1.2 Firefox特点 二、本次实践介绍2.1 本地环境规划2.2 本次实践简介 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Firefox镜像五、部署Firefox5…

M7615DNA M7455DNF M7675DXF安装网络打印驱动方法

注意&#xff1a;网络驱动安装首先需要把打印机接入到网络设备上&#xff0c;例如接到路由器或者交换机。 1、访问联想官方网站下载驱动或者使用机器随机自带光盘。 2、下载驱动后解压&#xff0c;如图&#xff1a; 3、运行解压后驱动包内的install文件夹里的相应打印机型号&am…

【云原生】软件架构的演进以及各个架构的优缺点

文章目录 1. 什么是软件架构?2. 单机架构3. 应用数据分离架构4. 应用服务集群架构5. 读写分离架构6. 冷热分离架构7.垂直分库架构8. 微服务架构9. 容器编排架构10. 小结 1. 什么是软件架构? 软件架构是指在设计和构建软件系统时&#xff0c;对系统的组织结构、组件、模块、接…

数据竞赛复现代码的 Docker 镜像制作指南

文章目录 一、前言二、主要内容1. Docker Desktop&#xff1f;2. VMware17 CentOS Linux Xshell 三、总结 &#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 主要的要求&#xff1a; 通过 Dockerfile 文件创建 Docker 镜像&#xff0c;数据…

Python初学-记录与Java基本语法不同的地方

这里写目录标题 条件与循环If条件语句for循环while循环 数学复数随机数 序列字符串列表与元组一些方法&#xff1a; 字典 条件与循环 If条件语句 在python里基础结构为if&#xff0c;elif&#xff0c;else&#xff0c;并且执行语句是在冒号后面的&#xff0c;Java是if&#x…

(小程序)基于uniapp+vite4+vue3搭建跨端项目|uni-app+uview-plus模板

(小程序)基于uniappvite4vue3搭建跨端项目|uni-appuview-plus模板 版本信息&#xff1a; HBuilderX: 3.8.4 Vite: 4.2.1 uView-Plus: 3.1.31一、创建uniappvue3项目&#xff1a; 点击编辑器的文件 > 新建 > 项目&#xff08;快捷键CtrlN&#xff09; 2.选择uni-app项目&…

一点基础、但一直没分清的概念2023/06/28

文章目录 1.export和export default的区别2.npm和cnpm的区别3.npm run dev/serve的区别4.slice、splice和split的区别 1.export和export default的区别 模块功能主要由两个命令构成&#xff1a;export和import。export命令用于规定模块的对外接口&#xff0c;import命令用于输…

【Windows】Windows 如何查看已连接过WiFi的密码

文章目录 方式一、使用命令行查看方式二、使用PowerShell 查看方式三、使用网络适配查看 方式一、使用命令行查看 CtrlShiftEsc 打开任务管理器 打开新建任务对话框 在任务管理器界面&#xff0c;找到第一个菜单文件(F)点击运行新任务(N)。 新建cmd任务 打开(O):cmd     …

SpringBoot+VUE实现文件导入并将其保存到Liunx系统

SpringBootVUE实现文件导入 一、需求二、前端代码实现2.1 显示实现2.1.1 a标签实现2.1.1.1 上传标签实现2.1.1.2 查看标签实现 2.2 上传文件和文件查看界面实现2.2.1 上传文件界面2.2.1.1 上传文件界面展示部分2.2.1.1 上传文件界面逻辑部分 2.2.2 查看文件界面2.2.2.1 查看文件…

一步一步学OAK之二: RGB相机控制

今天我们来实现 RGB相机的控制程序&#xff0c;用来控制彩色相机的曝光、灵敏度、白平衡、亮度/色度降噪、 设备端裁剪、相机触发器等。 目录 Setup 1: 创建文件Setup 2: 安装依赖Setup 3: 导入需要的包Setup 4: 全局变量Setup 5: 定义clamp函数Setup 6: 创建pipelineSetup 7:…

Nginx重写跳转

目录 一、rewrite跳转场景 二、rewrite跳转实现 三、rewrite实际场景 四、rewrite正则表达式 五、rewrite命令语法格式 六、location分类 1、location 大致可以分为三类 2、正则匹配的常用表达式 七、location 优先级 八、rewrite和location比较 九、总结 一、rewri…

9 HAL库驱动框架简述(STM32HAL库)

目录 HAL库驱动框架简述 HAL库外设设计思想 HAL库和Cube MX相结合 一、对外设的封装——句柄结构体 二、外设初始化 初始化结构体 初始化的逻辑 三、外设使用逻辑 通用接口函数 初始化函数 I/O操作函数 控制函数 状态参数 扩展接口函数 总结 补充&#xff1a;H…

如何以最小成本通过CMMI评估?评估调查问卷收集中

CMMI评估&#xff0c;我们经常遇到&#xff1a;评估费用高、时间长&#xff0c;CMMI标准过程无法高效落地&#xff0c;那么我们如何以最小的成本通过CMMI评估&#xff1f; CoCode开发云公益直播课即将开播&#xff01;直播主题&#xff1a;如何以最小成本通过CMMI评估。为了更好…

怎么把文字生成图片?三款ai绘画生成器分享

如果你对ai绘画工具有一定了解的话&#xff0c;你就会知道&#xff1a;市面上大部分ai绘画工具都是收费。再退一步讲&#xff0c;我们暂且不论收费价格的高低&#xff0c;大多数收费的ai绘画工具也不一定能准确匹配我们的需求。 仅仅在学生党和工作党之间&#xff0c;对ai绘画…

python爬虫增加多线程获取数据

Python爬虫应用领域广泛&#xff0c;并且在数据爬取领域处于霸主位置&#xff0c;并且拥有很多性能好的框架&#xff0c;像Scrapy、Request、BeautifuSoap、urlib等框架可以实现爬行自如的功能&#xff0c;只要有能爬取的数据&#xff0c;Python爬虫均可实现。数据信息采集离不…

windows10教育版过期,记录一下重装windows11专业工作站。报错“若要在此计算机上安装windows,请重新启动安装”

准确的来说是重装 windows10或者windows11都有问题&#xff0c;而且卡了很久&#xff1b;最初的问题是 第一步解决问题的方法&#xff1a; 1、修改注册文件&#xff1a; 有些不显示鼠标&#xff0c;记住鼠标按住拖动&#xff0c;这样可以看见矩形的样子&#xff0c;可以知道大…

shardingsphere-proxy 搭建mysql的分库分表

1、docker安装mysql5.7版本 拉取mysql的镜像 docker pull mysql:5.7创建mysql的配置目录&#xff0c;日志目录&#xff0c;数据存储的目录 mkdir -p /home/sunyuhua/docker/mysql/conf mkdir -p /home/sunyuhua/docker/mysql/logs mkdir -p /home/sunyuhua/docker/mysql/dat…

服务器日志处理,文件截取关键字

临近年中述职&#xff0c;需要各种量化参数&#xff0c;服务稳定性是上半年的重中之重&#xff0c;所以需要重点列出说服性指标&#xff0c;因此各种错误吗的统计信息便是重要信息&#xff0c;因为公司的日志采集系统因上云缘故&#xff0c;导致历史数据丢失没法查询&#xff0…

Jetpack Compose实现 验证码输入框

highlight: androidstudio Jetpack Compose 作为 Android 的新一代 UI 开发框架,提供了非常强大的工具来构建用户界面。 今天,我们就利用 Compose 来实现一个炫酷的验证码输入框! 开始的思路是用6个TextField来实现 // 用于存储验证码的长度 val codeLength 6 // 定义一个…

Cesium 实战 - 使用 gltf-vscode 查看、预览以及编辑 glTF 和 GLB 模型

Cesium 实战 - 使用 gltf-vscode 查看、预览以及编辑 glTF 和 GLB 模型 VScode&#xff08;Visual Studio Code&#xff09; 安装模型必要插件VScode 预览自定义关节&#xff08;articulations&#xff09;动作VScode 导入 GLB 格式模型VScode 导出 GLB 格式模型 模型渲染作为 …