Html 边界溢出

Html 边界溢出,html,Html,我已经建立了一个标题,我定义的宽度为33.33%。只要我没有边界就行。一旦我添加边框,我的右元素将显示在下一行。是否有与边框协作的属性?给定标准的CSS框模型(内容框),元素的整体水平宽度将为: 左边框+左边框+宽度+右边框+右边框 如您所见,width仅指内容的宽度-它不包括填充或边框 因此,如果您的元素宽度为33.33%,则应用: border: 2px solid rgb(0,0,0); 您的元素不再33.33%宽 现在它是2px+33.33%+2px宽 解决方案#1使用calc():

我已经建立了一个标题,我定义的宽度为33.33%。只要我没有边界就行。一旦我添加边框,我的右元素将显示在下一行。是否有与边框协作的属性?

给定标准的CSS框模型(内容框),元素的整体水平宽度将为:

左边框
+
左边框
+
宽度
+
右边框
+
右边框

如您所见,
width
仅指内容的宽度-它不包括填充或边框

因此,如果您的元素宽度为
33.33%
,则应用:

border: 2px solid rgb(0,0,0);
您的元素不再
33.33%

现在它是
2px
+
33.33%
+
2px


解决方案#1使用calc():

您可以继续引用标准的CSS框模型(内容框),但为了补偿每侧的
2px
宽度边框,可以将元素的宽度声明为:

width: calc(33.33% - 4px);

解决方案#2使用盒子大小:

您可以告诉浏览器不要参考标准的CSS框模型(内容框),而是使用可选的CSS框模型(边框框):


当浏览器引用边框框模型时,
宽度
确实包含内容、填充和边框

给定标准的CSS框模型(内容框),元素的整体水平宽度为:

左边框
+
左边框
+
宽度
+
右边框
+
右边框

如您所见,
width
仅指内容的宽度-它不包括填充或边框

因此,如果您的元素宽度为
33.33%
,则应用:

border: 2px solid rgb(0,0,0);
您的元素不再
33.33%

现在它是
2px
+
33.33%
+
2px


解决方案#1使用calc():

您可以继续引用标准的CSS框模型(内容框),但为了补偿每侧的
2px
宽度边框,可以将元素的宽度声明为:

width: calc(33.33% - 4px);

解决方案#2使用盒子大小:

您可以告诉浏览器不要参考标准的CSS框模型(内容框),而是使用可选的CSS框模型(边框框):

当浏览器引用边框框模型时,
宽度
确实包含内容、填充和边框

您可以使用

box-sizing: border-box;

宽度和高度属性包括内容、填充和边框,但不包括边距。这是Internet Explorer在文档处于“怪癖”模式时使用的长方体模型。请注意,填充和边框将位于框的内部,例如,框{width:350px;border:10px纯黑;}将导致在浏览器中呈现宽度为350px的框。内容框不能为负数,并被限定为0,因此无法使用边框框使元素消失。 这里的维度计算为:宽度=边框+填充+内容宽度,高度=边框+填充+内容高度

你可以用

box-sizing: border-box;

宽度和高度属性包括内容、填充和边框,但不包括边距。这是Internet Explorer在文档处于“怪癖”模式时使用的长方体模型。请注意,填充和边框将位于框的内部,例如,框{width:350px;border:10px纯黑;}将导致在浏览器中呈现宽度为350px的框。内容框不能为负数,并被限定为0,因此无法使用边框框使元素消失。 这里的维度计算为:宽度=边框+填充+内容宽度,高度=边框+填充+内容高度


请发布您的代码将有助于我的猜测。请发布您的代码将有助于我的猜测。@Quentin谢谢,我试图修复blockquote,但在it@Quentin谢谢,我试图修复blockquote,但遇到了问题,为什么要先给出更糟糕的方法?因为它适应了CSS框模型,成为了标准(即内容盒)。关于哪种盒子型号应该成为标准的争论可以追溯到2000年代中期的浏览器大战。Border box是Internet Explorer的首选实现。当然有参考边框框模型没什么错,但在继续参考内容框模型的同时,也绝对值得知道如何处理这种情况。为什么要先给出更糟糕的方法?因为它适应了成为标准的CSS框模型(即内容框)。关于哪种盒子型号应该成为标准的争论可以追溯到21世纪中期的浏览器大战。Border Box是Internet Explorer的首选实现。当然有引用边框框模型没有什么错,但在继续引用内容框模型的同时,了解如何处理这种情况也绝对值得。