• 探索CSS中的宽度设置:width: 100% 与 width: auto 的区别


    前端开发中,CSS的样式规则是我们创建各种布局和设计的关键。在这个过程中,设置元素的宽度是一个常见的任务。然而,对于width属性的不同取值,特别是width: 100%width: auto,很多开发者可能会感到困惑。本文将深入探讨这两者之间的区别以及它们在实际开发中的应用。
    在这里插入图片描述

    1. width: 100% 的应用

    在许多情况下,我们希望元素占据其父元素的整个宽度,以实现响应式设计。这时就可以使用 width: 100%。例如:

    .container {
      width: 100%;
    }
    
    • 1
    • 2
    • 3

    这将使类为 .container 的元素充满其父元素的宽度,确保在不同屏幕尺寸下都能适应。

    2. width: auto 的动态宽度

    相比之下,width: auto 的设置更注重元素内容的大小。当你希望元素的宽度根据其内部内容的多少自动调整时,这是一个理想的选择。默认情况下,块级元素会尽可能地占满父元素的宽度,但也会根据内容的需要动态调整。例如:

    .box {
      width: auto;
    }
    
    • 1
    • 2
    • 3

    这将使类为 .box 的元素根据其内部内容的大小动态调整宽度。

    完整演示demo:

    DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <style>
        body {
      font-family: Arial, sans-serif;
      margin: 0;
    }
    
    .container {
      width: 80%;
      margin: 20px auto;
      border: 2px solid red;
      overflow: hidden; /* Clearfix for floated children */
    }
    
    .box-100, .box-auto {
      float: left;
      margin: 10px;
      padding: 20px;
      border: 1px solid #333;
      box-sizing: border-box;
    }
    
    .box-100 {
      width: 100%;
      border-color:blue;
    }
    
    .box-auto {
      width: auto;
    }
    
      style>
      <title>Width Demotitle>
    
    head>
    <body>
    	<h3>这里我手动调整container大小你可以观察两种的表现h3>
    	 <input type="range" min="100" max="500" value="300" class="slider">
    	<div class="container">
    		<div class="box-100">
    		  <p>width: 100% 的盒子会随着 .container 的宽度变化p>
    		div>
    		<div class="box-auto">
    		  <p>width: auto 的盒子会根据其内容调整宽度。p>
    		div>
    	  div>
     <script>
        const slider = document.querySelector('.slider');
        const container = document.querySelector('.container');
    
        slider.addEventListener('input', function() {
          container.style.width = `${this.value}px`;
        });
      script>
    body>
    html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
  • 相关阅读:
    GMSM,CSM总结
    全国职业技能大赛云计算--高职组赛题卷②(容器云)
    SpringCloud学习笔记(一)
    ThreeJS-3D教学三:平移缩放+物体沿轨迹运动
    Python中的类变量和实例变量有什么区别?
    远程办公或常态化,“小城房”or“大城床”你会怎么选?
    32位单片机GPIO端口电路结构以及输出模式
    学苑教育杂志学苑教育杂志社学苑教育编辑部2022年第32期目录
    Laf v1.0 发布:函数计算只有两种,30s 放弃的和 30s 上线的
    可重入函数与不可重入函数
  • 原文地址:https://blog.csdn.net/mbh12333/article/details/136340923