我正在尝试制作一个具有流体布局的网站。因此,我试图将百分比用作测量。如果我没错,则百分比是从父元素中计算出来的。由于HTML标签没有设置宽度,因此身体标签如何计算100%宽度?100%是否表示您正在查看页面的屏幕的完整分辨率?
谢谢
您必须阅读规格才能找到您的问题的答案:
https://www.w3.org/tr/css22/visudet.html#x3说宽度百分比:
<百分比> 指定一个百分比宽度。百分比是根据生成盒的的宽度计算。
关于包含块:
https://www.w3.org/tr/css22/visudet.html#contain-block-details说:
有时会计算元素框的位置和大小相对于某个矩形,称为包含的块元素。元素的包含块定义如下:
root Element Live是矩形的包含块称为初始包含块。对于连续媒体,它具有 fiewport 的尺寸,并锚定在 Canvas origin;
(...)
root Element IS< html>(https://www.w3.org/tr/html-markup/html.html)。
屏幕被视为连续媒体。
viewport 和 canvas 之间的关系很简单:
https://www.w3.org/tr/css22/visuren.html#viewporthttps://www.w3.org/tr/css22/intro.html#canvas
连续媒体的用户代理通常会为用户提供 viewport ( a)屏幕上的窗口或其他查看区域)用户通过咨询文件。用户代理可能会更改文档的布局调整了视口的大小(请参阅初始包含块)。
当视口小于画布区域时渲染文档,用户代理应提供滚动机制。
因此,尝试简化这一点,即使内容大小不适合浏览器窗口。
浏览器窗口包含视口(考虑无菜单,滚动条和状态栏)。
因此,如果<body>
具有100%宽度,则意味着它与<html>
元素的宽度相同,该宽度等于视口的宽度。
您可以通过检查CHOME上的<html>
元素来轻松找到视口宽度。
body
标签的宽度为100%宽度表示html
宽度的100%,这再次是 fiewport 的完整宽度,在桌面上将是浏览器窗口,在移动设备上屏幕宽度。
仅使用HTML和CSS就不足以获得宽度,您需要使用JavaScript,甚至更好的是,像JQuery这样的框架可以帮助您获得身体的宽度。
使用jQuery代码看起来像这样:
$(document).width();
您可以在此处找到有关它的更多信息。