添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

width/height百分比设置

参考链接1: width=100%时会出现滚动条的情况
参考链接2: html,body设置高度100%和默认的滚动条

问题一:body{width:100%}但窗口出现滚动条

<!doctype html>
<meta charset="utf-8"/>
<title>body{width":100%;}窗口有滚动条</title>
<style>
    body{
        width:100%;}
   div{
       background-color:pink;
</style>
</head>
<div></div>
</body>
</html>

运行结果为:横向出现滚动条。

原因分析:

一个对象高度是否可以使用百分比显示,取决于对象的父级对象。 width=100%的基准是谁,也就是说它是相对于谁而言的?它的参照物是谁?根据CSS的相关知识我们知道,当子元素没有设置样式时,子元素会继承其父元素的样式,而在本例当中,父元素body的父元素又是谁呢?答案是标签html。

html标签也可以理解为当前浏览器的可视窗口,所以它的宽度是整个浏览器窗口的宽度,而浏览器具有放大缩小的功能,所以它就会把子元素的宽度设置为当前可见区域的宽度,所以就会出现滚动条的情况,当滑动滚动条时,子元素的内容就会随着浏览器窗口的可视宽度进行显示

修正方法

  1. 添加 *{margin=0;}(推荐)

    • 原因:浏览器的默认margin不一定为0,当确认margin=0,body与html的width大小相同,不再出现滚动条。
    • 此外,添加 *{margin=0;padding=0;}应成为一个习惯,用于消除浏览器的默认设置,防止不同浏览器的显示效果不同。
  2. 修改 body{width:100%;} 为 html{width:100%;}
    • 原因:直接修改整体视图.
  3. 设置width值时,设置一个不为100%的值。(如果需要用滚动条来显示溢出的话,那么可以把overflow设置为auto或者scroll)

问题二:body的子元素height:100%,但实际高度未填满整个页面

<!doctype html>
<meta charset="utf-8"/>
<title>子元素height不能填充100%</title>
<style>
   margin:0;
   padding:0;
   div{
       width:100%;
       height:100%;
       background-color:pink;
</style>
</head>
<div></div>
</body>
</html>

运行结果为:div高度未填满整个页面。

div的父级是body,浏览器默认状态下,body没有height属性。因此当我们直接设置div为height:100%;时没有效果。

只有当我们给父级body设置了100% 之后,它的子级对象div的height:100%;才可能会发生作用,这便是 浏览器解析规则引发的高度自适应问题

但仅仅修改body的height为100%(代码修改一),或者仅仅修改html的height为100%(代码修改二)都同样不起作用。为了各浏览器的兼容性,应为body与html同时设置height:100%;。

错误示范1:仅修改body的height

<style>
/*代码修改一*/
       margin:0;
       padding:0;
   body{
       width:100%;
       height:100;
   div{
       width:100%;
       height:100%;
       background-color:pink;
</style>

错误示范2:仅修改html的height

<style>
/*代码修改二*/
       margin:0;
       padding:0;
   html{
       width:100%;
       height:100;
   div{
       width:100%;
       height:100%;
       background-color:pink;
</style>

正确操作示范:

body对象与html对象同时相同的样式设计。

<style>
/*代码修改三:正确示范*/
       margin:0;
       padding:0;
   html,body{
       width:100%;
       height:100;
   div{
       width:100%;
       height:100%;
       background-color:pink;
</style>
width/height百分比设置参考链接1:width=100%时会出现滚动条的情况 参考链接2:html,body设置高度100%和默认的滚动条问题一:body{width:100%}但窗口出现滚动条代码:<!doctype html><html><head><meta charset="utf-8"/><title>body{width":100%;}窗口有滚动条</title><
复制代码代码如下: h1,h2,h3,h4,h5,h6 {font-size: 100 %;font-weight:normal;} input,select,textarea,samp {font-size: 100 %;} 看到一些css重设,请问设置font-size: 100 %的目的和作用是什么? ————————————————————————————— 假如你设置 body {font-size:12px;} 但h1是不会继承这个12px,它会按照一定百分比增加字号,但如果给h1显试指定font- size: 100 %;它就会继承 body 设定的字体大小。 1. 它改变了默认的大小。
我们常常会看到一些网页永远都是充满屏幕的,不会 出现 水平方向的 滚动条 ,那这些灵活的 页面 布局是怎样做到的呢?而有些 出现 水平方向的 滚动条 页面 又是因为什么原因呢? 1. 出现 水平方向 滚动条 页面 及代码: 有时需要让一个盒子容器的 高度 始终保持 100 %,无论怎么缩放浏览器 高度 始终不变。就像一些网站的侧边栏,但直接设置盒子容器的 高度 100 %是不起作用的。 如果想让一个元素的百分比 高度 height : 100 %;起作用,你需要给这个元素的所有父元素的 高度 设定一个有效值。拿下面的demo谈,div的父元素有 body 、html这两个,那么只要把父元素与自身元素都设置为 100 % 高度 即可。 <!DOCTYPE html> <title>Document</title> </head> <div>我想拥有 100 % 高度 ,我可以随意任浏览器缩放。</d
在项目中经常要用到一个容器元素占满屏幕 高度 和宽度,然后再在这个容器元素里放置其他元素。 宽度很简单就是 width : 100 % 但是 高度 呢,我们知道的是 height : 100 %必须是在父元素的 高度 给定了的情况下才可以。 以前我的做法是用js获取屏幕的 高度 ,然后将其赋值给 height , 屏幕 高度 在网页中为:window.inner Height ; 在微信小程序中则需要调用wx.getSystemInfo接口,然后通过setData赋值 但是显然通过js来进行的,效率上肯定不如css直接给定样式。 于是我们使用另一种方法: 在网页中设置 body ,html{heigh
最近在用vue开发移动端的项目,在进行兼容性测试的时候发现,有个 页面 有一块区域是需要滚动的我使用了overflow=auto的样式,在安卓上看的时候是正常的,但是在ios里面看只能够显示一部分,死活找不到原因。网上千篇一律的说法就是 子元素 要超过父级元素然后设置overflow为auto就可以了,但是我在css中的样式设置的就是这样,通过谷歌浏览器手机模拟调试工具里面显示也是正常的,但是在ios里面死活显示不全。 这里借鉴了下别人写的文章看了下: 虽然css文件的加载是与DOM的加载并行的,也就是...
1、不设置 body 标签的 width 属性,等价于设置一个非零值并且不带单位,会呈现出比浏览器的宽度稍微少一点,即两边留白一点的宽度,而且是响应式的。 2、设置成一个比浏览器宽度小的固定值,则会固定此大小,不会是响应式的,且当浏览器宽度小于设置的 body 的宽度时, 出现 滚动条 ,不会 出现 响应式,且始终和浏览器边线有一定的缝隙。 left:8%; right:1%; bottom:2%;/* “bottom:0 与 overflow” 结合使用的效果:当内容超出显示器时,自动添加本区域的 滚动条 ,其他区域保持不变*/ overflow:auto; /除了上面的方式,还有一种是不定义bottom,也不用overflow,这样内容是多少,中间内...
Div中内容为超出但是 出现 滚动条 如何解决 一般情况下显示 滚动条 直接使用overflow:auto,在内容溢出之后,自动显示 滚动条 。但个别情况下,会在内容没有溢出的时候也显示 滚动条 。原因是因为你自己的div中的内容设置了 高度 ,去掉这个 高度 就好了 直接去掉 高度 就可以了
如果Vue3 子元素 高度 超过了 100 %的 body ,但是 body 仍然没有铺满 整个 屏幕,那么可以尝试以下几种方法来解决这个问题: 1. 确认html和 body 元素的 高度 都设置为 100 %。可以在全局CSS文件中添加以下代码: ```css html, body { height : 100 %; 2. 使用flex布局来让 子元素 铺满 整个 屏幕,可以在父元素上添加以下代码: ```css display: flex; flex-direction: column; height : 100 %; 然后在 子元素 上添加以下代码: ```css flex: 1; 这样 子元素 就会自动铺满 整个 屏幕。 3. 如果以上方法都不起作用,可以考虑使用JavaScript来动态计算 子元素 高度 并设置为 100 %。可以在 子元素 的mounted钩子函数中添加以下代码: ```javascript mounted() { const body Height = document. body .client Height ; const element Height = this.$el.client Height ; if (element Height < body Height ) { this.$el.style. height = body Height + 'px'; 这样就可以动态将 子元素 高度 设置为 100 %了。
建站记录2-CSS文件未加载-已解决-Resource interpreted as Stylesheet but transferred with MIME type text/plain 27800