<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>盒子模型 on Last Stand</title><link>https://amatsuzero.github.io/LastStand/tags/%E7%9B%92%E5%AD%90%E6%A8%A1%E5%9E%8B/</link><description>Recent content in 盒子模型 on Last Stand</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 10 Nov 2024 00:00:00 +0800</lastBuildDate><atom:link href="https://amatsuzero.github.io/LastStand/tags/%E7%9B%92%E5%AD%90%E6%A8%A1%E5%9E%8B/index.xml" rel="self" type="application/rss+xml"/><item><title>盒子模型</title><link>https://amatsuzero.github.io/LastStand/posts/frontend/css/css-001/</link><pubDate>Mon, 30 Sep 2024 00:00:00 +0800</pubDate><guid>https://amatsuzero.github.io/LastStand/posts/frontend/css/css-001/</guid><description>&lt;p&gt;前端盒子模型是网页布局的基础概念，对于前端开发者来说，理解盒子模型是至关重要的。&lt;/p&gt;
&lt;h3 id="1-盒子模型的组成部分"&gt;1. 盒子模型的组成部分&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;内容（Content）&lt;/strong&gt;:&lt;br&gt;&lt;/li&gt;
&lt;li&gt;盒子中实际显示的文本或图像部分。内容区的大小由 &lt;code&gt;width&lt;/code&gt; 和 &lt;code&gt;height&lt;/code&gt; 属性确定。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内边距（Padding）&lt;/strong&gt;:&lt;br&gt;&lt;/li&gt;
&lt;li&gt;内容与边框之间的空间。它用于增加内容与边框之间的距离，可以通过 &lt;code&gt;padding&lt;/code&gt;、&lt;code&gt;padding-top&lt;/code&gt;、&lt;code&gt;padding-right&lt;/code&gt;、&lt;code&gt;padding-bottom&lt;/code&gt; 和 &lt;code&gt;padding-left&lt;/code&gt; 属性进行设置。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;边框（Border）&lt;/strong&gt;:&lt;br&gt;&lt;/li&gt;
&lt;li&gt;环绕在内边距和内容周围的边界。可以设置边框的宽度、样式和颜色。相关属性包括 &lt;code&gt;border&lt;/code&gt;、&lt;code&gt;border-width&lt;/code&gt;、&lt;code&gt;border-style&lt;/code&gt; 和 &lt;code&gt;border-color&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;外边距（Margin）&lt;/strong&gt;:&lt;br&gt;&lt;/li&gt;
&lt;li&gt;盒子外部的空间。用于控制元素与元素之间的间距。可以通过 &lt;code&gt;margin&lt;/code&gt;、&lt;code&gt;margin-top&lt;/code&gt;、&lt;code&gt;margin-right&lt;/code&gt;、&lt;code&gt;margin-bottom&lt;/code&gt; 和 &lt;code&gt;margin-left&lt;/code&gt; 属性进行设置。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-标准盒子模型与替代盒子模型"&gt;2. 标准盒子模型与替代盒子模型&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;标准盒子模型（content-box）&lt;/strong&gt;:&lt;br&gt;&lt;/li&gt;
&lt;li&gt;默认的盒子模型。&lt;code&gt;width&lt;/code&gt; 和 &lt;code&gt;height&lt;/code&gt; 只包含内容区，不包括内边距和边框。因此，元素的实际占用空间是 &lt;code&gt;width + padding + border&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;替代盒子模型（border-box）&lt;/strong&gt;:&lt;br&gt;&lt;/li&gt;
&lt;li&gt;通过设置 &lt;code&gt;box-sizing: border-box&lt;/code&gt;，使得 &lt;code&gt;width&lt;/code&gt; 和 &lt;code&gt;height&lt;/code&gt; 包括内边距和边框，这样内容区的大小会自动调整以适应总高度和宽度。这样做通常可以避免许多布局问题。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="示例"&gt;示例&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.&lt;span style="color:#a6e22e"&gt;box&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;box-sizing&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;content-box&lt;/span&gt;; &lt;span style="color:#75715e"&gt;/* 默认值 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;width&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;200&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;px&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;padding&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;px&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;border&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;px&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;solid&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;black&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在标准模型下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;总宽度 = 200px + 20px (左内边距) + 20px (右内边距) + 5px (左边框) + 5px (右边框) = 250px&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.&lt;span style="color:#a6e22e"&gt;box&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;box-sizing&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;border-box&lt;/span&gt;; &lt;span style="color:#75715e"&gt;/* 替代模型 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;width&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;200&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;px&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;padding&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;20&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;px&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;border&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;px&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;solid&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;black&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在替代模型下：&lt;/p&gt;</description></item></channel></rss>