将网格高度调整为可用屏幕,无需滚动条

2024-01-02

我应该使用什么网格属性来使网格完美地保持在屏幕内?

Using height: 100vh; on .wrapper调整高度,但引入了滚动条。为了删除不需要的滚动条,我尝试设置body{margin:0;}但我希望在整个网格周围有一个边距,而不产生滚动条。我确信这是一个简单的解决方法,但请帮助我!

代码笔:https://codepen.io/reiallenramos/pen/yzroxe https://codepen.io/reiallenramos/pen/yzroxe

html,
body {
  height: 100%;
  width: 100%;
}

body {
  background-color: lightcyan;
}

.wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(6, 1fr);
  grid-gap: 8px;
  height: 100vh;
}

.wrapper>div {
  background-color: #eee;
}

.wrapper>div:nth-child(odd) {
  background-color: #ddd;
}

.item1 {
  grid-column: 1/2;
  grid-row: 1/5;
}

.item2 {
  grid-column: 2/3;
  grid-row: 1/3;
}

.item3 {
  grid-column: 3/5;
  grid-row: 1/3;
}

.item4 {
  grid-column: 2/4;
  grid-row: 3/5;
}

.item5 {
  grid-column: 4/5;
  grid-row: 3/6;
}

.item6 {
  grid-column: 1/3;
  grid-row: 5/7;
}

.item7 {
  grid-column: 3/4;
  grid-row: 5/7;
}

.item8 {
  grid-column: 4/5;
  grid-row: 6/7;
}
<div class="wrapper">
  <div class="item item1">1</div>
  <div class="item item2">2</div>
  <div class="item item3">3</div>
  <div class="item item4">4</div>
  <div class="item item5">5</div>
  <div class="item item6">6</div>
  <div class="item item7">7</div>
  <div class="item item8">8</div>
</div>

主流浏览器通常会在页面上设置默认边距body元素。通常是 8px,如W3C 推荐 https://www.w3.org/TR/CSS22/sample.html.

因此,在设置时body元素或另一个容器height: 100%,由于存在溢出情况,将呈现垂直滚动条:

100% + 8px > the viewport height

简单的解决方法是用您自己的规则覆盖浏览器的默认规则:

body { margin: 0; }

但是,在这种情况下,您需要主容器周围有间隙。你不需要滚动条。

然后只需更换margin with padding,并使用box-sizing: border-box.

With box-sizing: border-box、内边距和边框(但不包括边距)都被考虑到内容长度中。

body {
  margin: 0;
  background-color: lightcyan;
}

/* NEW */
* {
  box-sizing: border-box;
}

.wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(6, 1fr);
  grid-gap: 8px;
  padding: 8px; /* NEW */
  height: 100vh;
}

.wrapper>div {
  background-color: #eee;
}

.wrapper>div:nth-child(odd) {
  background-color: #ddd;
}

.item1 {
  grid-column: 1/2;
  grid-row: 1/5;
}

.item2 {
  grid-column: 2/3;
  grid-row: 1/3;
}

.item3 {
  grid-column: 3/5;
  grid-row: 1/3;
}

.item4 {
  grid-column: 2/4;
  grid-row: 3/5;
}

.item5 {
  grid-column: 4/5;
  grid-row: 3/6;
}

.item6 {
  grid-column: 1/3;
  grid-row: 5/7;
}

.item7 {
  grid-column: 3/4;
  grid-row: 5/7;
}

.item8 {
  grid-column: 4/5;
  grid-row: 6/7;
}
<div class="wrapper">
  <div class="item item1">1</div>
  <div class="item item2">2</div>
  <div class="item item3">3</div>
  <div class="item item4">4</div>
  <div class="item item5">5</div>
  <div class="item item6">6</div>
  <div class="item item7">7</div>
  <div class="item item8">8</div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将网格高度调整为可用屏幕,无需滚动条 的相关文章

  • 使 html svg 对象也成为可点击的链接(在 iPhone 上)

    这个问题与使 html svg 对象也成为可点击的链接 https stackoverflow com q 11374059 4825796 但给出的答案似乎不适用于 iPhone ios 9 3 safari 和 chrome 浏览器 我
  • 为什么插入符号在具有position:relative的contenteditable中不可见?

    When a contenteditable元素有position relative和背景颜色 插入符号放置在该元素中时是不可见的 这是一个例子 bug position relative background color lightgre
  • 最佳实践:ASP.NET 中的 CSS 或主题?

    什么时候应该使用 ASP NET 主题 什么时候应该使用 CSS 使用其中一种相对于另一种有哪些优点或缺点 我建议使用 CSS 而不是主题 原因是在 CSS 中 您可以修改样式以使其适用于所有浏览器 您可以对主题做同样的事情 但微软的设计师
  • 自定义元素可以扩展输入元素吗?

    使用Web组件规范 是否可以扩展特定类型的
  • 聚合物在核心输入上使用功能验证

    有人可以解释一下如何使用函数验证吗这种聚合物元素 http www polymer project org docs elements core elements html core input 导航到 验证 部分
  • CSS 动画延迟和关键帧

    我在 CSS 动画上遇到动画延迟问题 我有 3 张图片 我想将其制作为幻灯片 插图是 图像1到图像2需要15秒改变 图像2到图像3需要15秒改变 图像3回到图像1需要30秒 在第一个循环之后 我想让幻灯片结束于图像3 因此图像1到图像2仍然
  • JSF 不呈现自定义 HTML 标记属性

    我想向我的登录表单添加一些 iOS 特定的标签属性 如果我查看我的网页源代码 就会发现自动更正 自动大写和拼写检查属性不存在 这是什么原因呢 我正在使用 JSF 2 x
  • html 图像 src 调用 javaScript 变量

    这是我的代码 我想问 我怎样才能做到这一点 img src img apple 我一直在尝试使用 call 函数和 document onload 但它根本不起作用 有人可以救我吗 我假设你只是想用 javascript 更新图像 src
  • 有什么方法可以让 css 选择除第一页之外的所有内容吗?

    我刚刚找到了 CSS page指令 并将其与 first将 CSS 应用到 html 打印的第一页 有没有办法反其道而行之 将 CSS 应用于所有页面except首先 使用 CSS3 not https developer mozilla
  • 使用 IE9、10、11 的 CSS 将比例打印到 50% 等百分比

    Zoom css 属性不适用于 IE9 10 11 观察到打印预览 UI 令人不安 默认比例为 缩小以适合 当我将此比例从 缩小 更改为适合 50 时 页面显示正常 打印预览 任何人都可以帮助我如何使用 CSS 代码将比例设置为 50 为页
  • SVG线宽问题

    我开始了我的svg学习 我想用svg线做一些技巧吧 但有件事我不明白 我为每个技能创建 2 行 一行是空的 另一行是知识百分比 问题是 前两行的高度是我给出的笔画宽度的一半 其他线都有很好的高度 这是一个 jsbin http jsbin
  • 什么可能导致 Firefox 中出现此 HTML/CSS 渲染问题?

    款式 h2 color 71D0FF font size 11px font weight bold margin 0px 0px 5px 0px a box color FFFFFF important cursor pointer di
  • IE localStorage 事件失火

    在 Internet Explorer 9 和 10 中 localStorage 实现意外地触发事件 这里有很棒的线索 Chrome 的 localStorage 实现存在错误 https stackoverflow com questi
  • 从检查元素隐藏 ''

    我有这个 HTML 和 PHP 联系表
  • 如何将两个 span 元素一个向左对齐,另一个向右对齐?

    我有两个 span 要素 span style margin right auto 2012 XYZ Corp All Rights Reserved span span style margin left auto Built with
  • 在“onClick”上切换 DIV 高度

    我想切换分区的高度 我尝试过将 animate 与 if else 语句一起使用 但它只会反弹 我现在使用的代码将隐藏我的分区而不是切换高度 点击时会触发 document ready function content1 toggle fu
  • 删除下拉链接并在导航栏菜单中显示其所有项目

    我正在使用 Twitter Bootstrap 及其响应式设计来实现顶部典型的 Twitter Bootstrap 导航栏菜单 在那里我有一些链接和一个下拉菜单 当我将浏览器大小调整为768px或者更少 它会转变为一种新的导航菜单 这一切开
  • 什么时候可以使用Javascript,什么时候不可以?

    不使用太多 javascript jquery 是个好习惯吗 我们应该尽可能避免它 为了良好的可访问性 吗 什么时候可以使用 JavaScript 什么时候不能在网页设计和开发中使用 JavaScript 在什么场景 什么条件下 Updat
  • 标题的下边框小于宽度

    我需要创建一个下划线效果底部边框小于h2标题的宽度 通常我不上传图片 但我认为这可能有助于进一步解释问题 您可以为此使用伪元素 例子 http jsfiddle net SZ39x pseudo border position relati
  • 深层嵌套 Flexbox 布局是否会导致性能问题?

    我一直在开发一个 ReactJS 项目 其中我使用 Flexbox 布局创建了大部分组件 由于使用 React 我们可以拥有深度嵌套的组件 因此我的布局具有嵌套的 Flexbox 布局 现在我的问题是 这对性能有任何问题吗 在一个页面上 有

随机推荐

  • Android Studio 图像资源启动器图标背景颜色

    我的应用程序有一个 png 徽标 它没有背景 当我将其作为图像资源添加到 android studio 时 我被迫有背景 十六进制字段不接受 8 位颜色代码 仅接受 6 位 有没有办法让背景不可见 要使背景透明 请设置shape as No
  • MotionLayout 儿童拦截触摸事件的问题

    我的主布局中有一个根容器的 MotionLayout 里面还有其他的景色 其中之一是框架布局 包含一个片段 该片段是一个页面 由 NestedScrollView 等组成 MotionLayout 具有仅水平滑动的 OnSwipe 而 Ne
  • 具有可变函数参数的 C++ 多态性

    我正在与您分享一个使用可变参数函数参数的类遇到的问题 它是下面代码中所示的 Thread 类 它是 std thread 的包装器 以便使用函数模式 我想在这个函数中使用多态性 将 Thread 类继承到一个新类 Functor 中 但是
  • 将 Excel 电子表格导入 Access - [hh]:mm:ss 的格式问题

    我需要将 Excel 电子表格导入 Microsoft Access 我有一个格式为 h mm ss 的列 当我使用 Access 导入它时 我已指定该列采用日期 时间格式 但它显示不正确 例如 在 Excel 中 它会显示 452 32
  • git 远程名称中哪些字符是非法的?

    git 远程名称中哪些字符是非法的 我在 git 文档中没有找到它 我在文档中也没有找到任何内容 那么我们就来看看源码吧 当您尝试添加具有无效名称的遥控器或将遥控器重命名为无效名称时 您将收到一条错误消息 例如 致命 foo bar 不是有
  • 如何向 D3.js 图表添加固定范围垂直线

    我正在尝试在现有折线图上添加一条垂直线 我的数据如下所示 PC 列是计算出的百分比 图表上的垂直线应从 0 延伸到 100 var data Month 2014 06 PC 38 items 72 Month 2014 07 PC 33
  • 如何动态访问 strings.xml 中的值?

    我想做的是从中获取特定文本strings xml动态地 我认为这将涉及动态访问对象变量 将会有一个类似的函数 public void getDynamicString int level text setText R string leve
  • 如何解释 jag 中的某些语法(n.adapt、update..)?

    我对 jag 中的以下语法感到非常困惑 例如 n iter 100 000 thin 100 n adapt 100 update model 1000 progress bar none 目前我认为 n adapt 100意味着您将前 1
  • 如何链接到 /usr/local/lib 上的 libc++?

    我试图提供 L usr local lib tried nostdinc 尝试设置DYLD LIBRARY PATH and DYLD FALLBACK LIBRARY PATH but otool总是给我 otool L sample s
  • 作为服务运行时,TFS 构建代理无法连接到 TFS 2017 中的 HTTPS git

    我们在服务器上使用内部证书 我已按照以下步骤操作 https blogs msdn microsoft com tfssetup 2016 12 19 error ssl certificate problem unable to get
  • 如何在 CloudFormation 模板中创建一些随机或唯一值?

    有没有办法在 CloudFormation 模板中创建某种随机或唯一值 为什么我需要这个 在我们的模板中 我们有许多自定义命名的资源 例如AWS AutoScaling LaunchConfiguration与指定的LaunchConfig
  • P 值、显着性水平和假设

    我对 p 值的概念感到困惑 一般来说 如果 p 值大于 alpha 通常为 0 05 我们就无法拒绝原假设 如果 p 值小于 alpha 我们就拒绝原假设 据我了解 如果 p 值大于 alpha 则两组之间的差异只是来自采样误差或偶然 到目
  • 在 Go 中实现 Ruby 风格的笛卡尔积

    我想要得到的笛卡尔积a b c d a a1 b b1 b2 c c1 c2 c3 d d1 这是 Ruby 代码 e b c d print a product e 输出是 a1 b1 c1 d1 a1 b1 c2 d1 a1 b1 c3
  • 相当于 vb.net 中的 vb6.Format 函数,无需使用 Microsoft.Visualbasic.Compatibility.dll [重复]

    这个问题在这里已经有答案了 可能的重复 有没有办法以编程方式将 VB6 格式字符串转换为 NET 格式字符串 https stackoverflow com questions 4072490 is there a way to progr
  • Microsoft.NET.Sdk 和 Microsoft.NET.Sdk.Web 之间有什么区别

    我有一个包含两个主机项目的解决方案 一个是Web Host https learn microsoft com en us aspnet core fundamentals host web host view aspnetcore 2 1
  • 我的教义真的很慢。简单查询,一秒出结果

    这是我的设置 Windows Server 2008 R2mysql 5 1 562PHP 5 3 2教义1 2 任何人都知道为什么我的查询需要大约一秒钟才能执行一个简单的查询 echo date Y m d H i s time micr
  • 如何在 OpenSMILE 中创建自定义配置文件

    我正在尝试使用 OpenSMILE 从音频样本中提取一些功能 但我意识到设置配置文件是多么困难 该文档不是很有帮助 我能做的最好的事情就是运行一些提供的示例配置文件 查看结果 然后进入配置文件并尝试确定指定功能的位置 这是我所做的 我使用了
  • AngularJS Linky 过滤器停止传播

    我有一个span标签看起来像这样 span span 在 ng repeat 内 但我有一个问题 如果item Name包含电子邮件或链接链接过滤器会更改 html 并插入锚标记 现在 当我单击链接时 ng click 会触发并且锚点打开
  • 如何在mvc5中将文化设置为全局

    我正在使用资源文件来切换在 mvc5 中构建的 Web 应用程序中的语言 在索引文件中 它读取我设置的文化值 我从layout cshtml 调用设置区域性方法 并使用以下代码调用其值 Layout Views Shared Layout
  • 将网格高度调整为可用屏幕,无需滚动条

    我应该使用什么网格属性来使网格完美地保持在屏幕内 Using height 100vh on wrapper调整高度 但引入了滚动条 为了删除不需要的滚动条 我尝试设置body margin 0 但我希望在整个网格周围有一个边距 而不产生滚