width:100%和width:auto有啥区别

项目中使用了with属性,突然好奇auto 和 100% 的区别,特地搜索实践总结了一下观点

  • 一、 width属性介绍
  • 二、 代码带入
  • 三、 分析比较
  • 四、 总结

一、 width属性介绍

width 属性用于设置元素的宽度。width 默认设置内容区域的宽度,但如果 box-sizing 属性被设置为 border-box,就加上边框区域的宽度

二、 代码带入

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><style>div {color: #fff;font-size: 2rem;text-align: center;}.parent {width: 600px;height: 600px;background-color: blue;border: 10px solid black;padding: 20px;}.child {background-color: red;border: 10px solid grey;margin: 20px;height: 100px;}.auto{width: auto;}.hundred-percent{width: 100%;}</style><body><div class="parent">parent<div class="child auto">child1:  width:auto</div><div class="child hundred-percent">child2:  width:100%</div></div></body>
</html>

上图代码效果

三、 分析比较

我们给parent设置了padding:20px 内边距,给两个child都设置了margin:20px的外边距。child1的width属性是auto,child2的width属性是100%。

明显地看到两个child的不同表现,child1的宽度是可以适应的,不会溢出其父元素

child1 最终宽度为
600px - 20px(外边框)* 2 - 0px(内边距)* 2 - 10px (边框宽度)* 2 = 540px

在这里插入图片描述

而child2的宽度则是和父元素一样大最终溢出了其父元素。
child2 最终宽度为 600px
在这里插入图片描述

四、 总结

  1. width:100% : 子元素的 content 撑满父元素的content,如果子元素还有 padding、border等属性,或者是在父元素上设置了边距和填充,都有可能会造成子元素区域溢出显示;
  2. width:auto : 是子元素的 content+padding+border+margin 等撑满父元素的 content 区域。
  3. 所以,在开发中尽量还是选择 width:auto ,因为当从边距、填充或边框添加额外空间时,它将尽可能努力保持元素与其父容器的宽度相同。
    而width:100% 将使元素与父容器一样宽。额外的间距将添加到元素的大小,而不考虑父元素。这通常会导致问题。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

皇冠测评:网络电视盒子哪个品牌好?电视盒子排行榜

欢迎各位来到我们的测评频道&#xff0c;本期我们要分享的产品是电视盒子&#xff0c;因很多网友留言不知道网络电视盒子哪个品牌好&#xff0c;我们通过为期一个月的测评后整理了电视盒子排行榜&#xff0c;想买电视盒子的可以看看下面这五款产品&#xff0c;它们各方面表现非…

(每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第12章 项目质量管理(三)

博主2023年11月通过了信息系统项目管理的考试&#xff0c;考试过程中发现考试的内容全部是教材中的内容&#xff0c;非常符合我学习的思路&#xff0c;因此博主想通过该平台把自己学习过程中的经验和教材博主认为重要的知识点分享给大家&#xff0c;希望更多的人能够通过考试&a…

污水处理设备远程监控:HiWoo Cloud如何打造智慧环保新时代

随着工业化和城市化的快速推进&#xff0c;污水处理成为了保护环境、维护生态平衡的重要一环。传统的污水处理设备管理方式往往依赖于人工巡检和现场控制&#xff0c;不仅效率低下&#xff0c;而且难以实时掌握设备的运行状况。在这个背景下&#xff0c;HiWoo Cloud平台推出了污…

Matlab: Introduction to Hybrid Beamforming

文章目录 来源混合波束赋形的基本概念System Setup关键函数 来源 在matlab的命令行输入 doc hybrid beamforming 混合波束赋形的基本概念 混合波束形成简介 本例介绍了混合波束形成的基本概念&#xff0c;并说明了如何模拟这种系统。 现代无线通信系统使用空间复用来提高散…

模拟算法题练习(一)

模拟算法介绍&#xff1a; 模拟算法通过模拟实际情况来解决问题&#xff0c;一般容易理解但是实现起来比较复杂&#xff0c;有很多需要注意的细节&#xff0c;或者是一些所谓很“麻模“的东西。 模拟题一般不涉及太难的算法&#xff0c;一般就是由较多的简单但是不好处理的部…

如何开发自己的npm包并上传到npm官网可以下载

目录 搭建文件结构 开始编写 发布到npm 如何下载我们发布的npm包 搭建文件结构 先创建新文件夹,按照下面的样子布局 .├── README.md //说明文档 ├── index.js //主入口 ├── lib //功能文件 └── tests //测试用例 然后再此根目录下初始化package包 npm init…

蓝桥杯题练习:平地起高楼

题目要求 function convertToTree(regions, rootId "0") {// TODO: 在这里写入具体的实现逻辑// 将平铺的结构转化为树状结构&#xff0c;并将 rootId 下的所有子节点数组返回// 如果不存在 rootId 下的子节点&#xff0c;则返回一个空数组}module.exports convert…

西门子WinCC冗余项目使用

1 如果需要使用WinCC冗余系统时&#xff0c;请仔细阅读下面的文档&#xff0c;它将解决以下几个问题&#xff1a; &#xff08;1&#xff09;WinCC冗余有什么样的功能&#xff1f; &#xff08;2&#xff09;需要购买什么样的授权&#xff1f; &#xff08;3&#xff09;应…

高项软考电子版论文答题纸(附下载)

24年软考又要来了&#xff0c;作为高项软考的拦路虎&#xff0c;论文你准备好了吗&#xff1f;&#xff01;记住在开始考试之前一定要用论文答题纸上把准备好的论文&#xff0c;在规定的时间内写上几遍&#xff0c;一是现在很少动笔写字了。二是、熟悉一下论文考试的感觉。 准备…

Unity3d Mesh篇(三)— 创建立方体

文章目录 前言一、Mesh组成二、使用步骤GetVertices方法GetTriangles方法OnDrawGizmos方法 三、效果四、总结 前言 在 Unity 中&#xff0c;创建立方体是学习和理解网格&#xff08;Mesh&#xff09;基础知识的重要一步。本篇教程将介绍如何使用 C# 脚本在 Unity 中创建一个简…

开启你的闲鱼探索之旅!利用商品详情关键词API,找到独一无二的宝藏商品

闲鱼是中国最大二手交易平台之一&#xff0c;拥有数亿用户。每天都有大量的宝贝被上架&#xff0c;有些宝贝非常独特&#xff0c;只有一两个被发布。如何找到这些独一无二的宝藏商品呢&#xff1f;幸运的是&#xff0c;我们可以利用联讯数据商品详情关键词API来实现这个目标。 …

普通索引和唯一索引详解

前言 面试的时候有时会问面试者&#xff0c;普通索引和唯一索引有什么区别。很多人&#xff0c;甚至工作很多年的工程师回答的千篇一律 “普通索引可以有重复的值&#xff0c;唯一索引不能有重复的值”。于是我又问&#xff0c;这两个索引这两个索引效率哪个高&#xff0c;很少…