box-sizing:border-box的理解和作用

news2025/1/21 2:59:54

盒子模型

盒子模型是指:外边距(margin)+ border(边框) + 内边距(padding)+ content(内容)

可以把每一个容器,比如div,都看做是一个盒子模型

比如你给一个div设置宽高为500px,但实际你设置的只是content,之后你又设置了padding:10px;border:1px solid red;

这时div的宽高就会变为544px(content 500px + padding 40px + border 4px)

相当于一个元素的实际宽高是由: padding + border + content 组成

1、没有设置box-sizing:border-box属性,宽高会加上padding和border的值,需要我们手动去计算,减去padding和border的值,并调整content的值,以免超过给定的宽高

比如下图,我给父元素parent设置宽高为500px,背景色为黑色;然后给子元素设置宽高为478px,并设置内边距10px,红色边框1px,背景颜色为灰色

此时子元素的宽高为500px(content 478px + padding 40px + border 4px)所以就覆盖了父元素的黑色背景,只能看到子元素的灰色背景

2、加了box-sizing:border-box属性padding和border的值就不会在影响元素的宽高,相当于把padding和border的值都算在content里

盒子模型会自动根据padding和border的值来调整content的值,就不需要手动调整

标准盒子模型,一般浏览器也都默认为标准盒子模型。即:box-sizing:content-box

怪异盒子模型,一般根据实际项目需要自行设置。即:box-sizing:border-box

CSS中代码background:url(图片) no-repeat right center的意思

最近在模仿一个网页的时候,发现CSS代码里有一行代码:background:url(图片) no-repeat right center不明白是什么意思,百度以后学习到了,在此记载知识点;

这一行代码其实是背景图定义形式的简写
完整形式是:

background-image:url(图片);
background-repeat:no-repeat;
background-position:right center
right center是设置图片的初始位置,right是在水平方向上贴容器或浏览器页面的右侧,center是在垂直方向上居中,这两个的顺序是先定义水平位置,再定义垂直位置
另外一个例子:
 background:url(../images/top_ico.png) no-repeat right 14px;

意思是背景图片不重复,在水平方向靠近容器的右侧,在垂直方向距离容器上方14px;

首先代码是:   #ban { margin:auto; width:500px; height:500px;border:2px dotted black;background:url(../image/hover_right.png); } 在不写repeat与no-repeat的情况下,默认的是平铺。repeat平铺的效果,就是一张图,可以铺满整个屏幕。效果图如下

 

然后我在#ban { margin:auto; width:500px; height:500px;border:2px dotted black; background:url(../image/hover_right.png)  no-repeat; /*不平铺*/ }no-repeat是不平铺,

效果图如下:

 center这个值,大家基本上很少去用到,往往也会忽略掉这个center的利用价值。其次我再加一个属性:background:url(../image/hover_right.png) no-repeat  center;它就会居中与div的中心部分,效果图如下:

 

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

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

相关文章

Vue实战【Vue开发中的的前端代码风格规范】

目录🌟前言🌟命名规范1.1 项目文件命名1.1.1 项目名1.1.2 目录名1.1.3 图像文件名1.1.4 HTML 文件名1.1.5 CSS 文件名1.1.6 JavaScript 文件名1.2 Vue 组件命名1.2.1 单文件组件名1.2.2 单例组件名1.2.3 基础组件名1.2.4 业务组件1.2.5 紧密耦合的组件名…

前端开发中常见的浏览器兼容性问题及解决方案

文章目录前言一、浏览器四大内核二、主流兼容问题(一)浏览器引擎(二)兼容问题的原因(三) 为什么浏览器会存在兼容性问题?(四)处理兼容问题的思路1. 要不要做?2. 做到什么…

vue3 | HighCharts实战自定义封装之径向条形图

1.前言 目前正在做vue3的数据可视化项目,vue3的组合式api写法十分方便,可以有各种玩法,有兴趣的同学可以看我个人主页的其他文章。难点是在网上找了一圈的有关径向条形图的示例都没有好的解决方案,决心亲自下手,在其中…

Vue(四)Vue脚手架——手把手教你安装和使用

一、什么是Vue脚手架 之前我们使用Vue框架,都是通过脚本的方式引入Vue脚本,在html中运行,但是这只是入门级的操作,下面我们介绍Vue脚手架。 脚手架:脚手架是一类软件的总称,此类软甲用于生成标准化的项目包…

Vue3中简单使用Mock.js

mock.js简介 官方链接:Mock.js (mockjs.com) 前端开发人员用来模拟虚拟数据,拦截ajax请求,方便模拟后端接口 安装 npm install mockjs 使用 本文主要介绍在Vue项目中使用mock.js,包括axios发送请求与请求简单封装 创建mock文件夹…

js+css+html制作简易留言板

jscsshtml制作简易留言板1 案例说明2 编写HTML代码3 编写css代码4 编写JavaScript代码5 全部代码1 案例说明 利用JavaScript、css以及html制作简易留言板,也可以看作是简易评论区。 要求在页面文本框中输入一些文字之后,点击“发布”按钮,就…

前端element-ui组件库el-card卡片【hover效果与点击事件(点击无效用@click.native=““)解决】

🚀作者简介 主页:水香木鱼的博客 专栏:后台管理系统 能量:🔋容量已消耗1%,自动充电中… 笺言:用博客记录每一次成长,书写五彩人生。 📒技术聊斋 (1&#…

直面JavaScript数据处理的5个常见疑难杂症

前言 随着前端技术的不断发展,前端工作需要展示的界面越来越复杂,因此数据处理的场景越来越多,例如:后台管理系统中常常需要展示一个树状结构,后台返回的前端的数据是平级结构,这时候需要我们把数据转成树结…

进阶版JavaScript学习【第二期】

距离上一期更新已经过了好久,非常抱歉。因为自己的一些原因,没有能够及时更新。 博主主页:GUIDM的主页 专栏内容:进阶版JavaScript学习 往期内容:第一期 给大家安利一个刷题神器:牛客网 JavaScript系列刷题…

Vue使用Element-UI实现分页效果

前言 分页在展示数据列表的场景肯定是非常多的。 一般的项目开发中,数据量特别大,一般都是后端接口直接处理分页返回,前端直接调用即可。 但是前端也是可以不需要借助后端,自己也是可以处理分页的。今天我这个后端开发就站在前…

H5画布 canvas(一)canvas简介、绘制圆形/矩形、案例饼状图绘制

目录 1. canvas 简介 2. canvas 标签介绍 3. canvas 上下文 Context 4. 案例:在 canvas 画布中绘制表格 5. canvas 的 beginPath 状态 6. 绘制矩形 rect 7. 绘制圆形 arc 8. 案例:根据一组数据绘制饼状图 1. canvas 简介 canvas 是HTML5 提供的一…

【蓝桥杯Web】大一小白参与蓝桥杯模拟赛二期web组体会

目录 前言 一、相关比赛介绍 1.ACM国际大学生程序设计竞赛 2.蓝桥杯 3.GPLT团队程序设计天梯赛 4.leetcode周赛和双周赛 5.PAT 二、蓝桥杯 1.应该参加蓝桥杯吗? 2.如何进行蓝桥杯的准备 三.蓝桥杯模拟赛二期web组真题 1.凭空消失的TA(简单&a…

node-sass安装失败解决方法,终有一款适合我们

项目中常常遇到node-sass安装失败,动不动就是报各种错误。以前我一次也没有失败过,自从系统重装我的天呀,node-sass就没有成功过,我能做的node卸载,sass重装各种版,以及换了淘宝镜像和用了vpn都安装失败。我…

Vue--Router--解决多路由复用同一组件页面不刷新问题

原文网址:Vue--Router--解决多路由复用同一组件页面不刷新问题_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍如何解决Vue的多路由复用同一组件页面不刷新问题。 多路由复用同一组件的场景 多路由使用同一组件 比如:添加博客(path为&…

H5如何实现唤起APP

前言 写过hybrid的同学,想必都会遇到这样的需求,如果用户安装了自己的APP,就打开APP或跳转到APP内某个页面,如果没安装则引导用户到对应页面或应用商店下载。这里就涉及到了H5与Native之间的交互,为什么H5能够唤起APP…

【简陋Web应用3】实现人脸比对

文章目录🍉 前情提要🌷 效果演示🥝 实现过程1. utils.py2. compare.html3. forms.py4. insightface_api.py5. app.py🍅 记录1. Bugs1.1 cv2.imshow()报错1.2 insightface人脸检测标注框错乱(💢)2. 杂记🌾 小…

给el-table-column添加指定列的点击事件该怎么做

嗨害嗨,我又来了奥。大家在工作中用组件吗?elementUI应该都用过吧, element是一套UI组件库,是由国内饿了么团队开发的。它提供了丰富的PC组件,有效地降低了使用者的开发难度。 如果工作中遇到了表格,我们经常会用el-table组件来写…

微信小程序 slot插槽基本使用

文章目录前言一、基本插槽二、具名插槽三、样式:hoststyleIsolation可控化样式隔离externalClasses外部样式类使用页面/父组件的样式总结前言 小程序中, 如果插槽有必要拿到父组件的数据来展示, 直接父传子即可, 和Vue一样的思路 一、基本插槽 参考Vue的基本插槽, 两者的使用…

初入微前端---qiankun学习这一篇就够了,并在vite中使用qiankun

目录 原因 Why Not iframe? qiankun 使用qiankun部署项目 在子路由的页面去暴露根元素 Create-react-app 子应用 在vite中使用qiankun 方法一(不太推荐): 方法二(推荐): 安装插件 修…

vue2双向数据绑定基本原理

vue2的双向数据绑定(又称响应式)原理,是通过数据劫持结合发布订阅模式的方式来实现的,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调来渲染视图。也就是…