有没有一种 CSS 方法可以保证正方形适合窗口而不滚动?

2023-12-02

我可以在 JavaScript 中轻松完成此操作,但想知道是否可以使用直接 CSS:在窗口中保留一个适合窗口大小的方形 div,无论它是什么。

我发现的任何解决方案都不能解决高度小于宽度的问题。

从逻辑上讲,我想要的是,当窗口宽度小于高度时,给我一个该宽度的正方形。如果高度较小,则给我一个该大小的正方形。

我见过的最接近的解决方案使用以 vw 为单位测量的宽度和高度,但当窗口非常宽和短时它不起作用。


我建议使用vmin unit.

Source

来自MDN 上的视口百分比长度文档:

视口百分比长度定义相对于视口(即文档的可见部分)大小的值。视口长度在 @page 声明块中无效。

vmin
等于 vw 和 vh 中较小的一个。

Example

使用完整页面链接通过浏览器中的示例对其进行测试。

body {
  /* So the whole viewport can be used by the square. */
  margin: 0;
}

#sqr {
  /* Uses the 'outer' (i.e. border-box) size when setting width and height. */
  box-sizing: border-box;
  width: 100vmin;
  height: 100vmin;
  background-color: red;
  border: yellow 10px solid;
}
<div id="sqr"><div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有一种 CSS 方法可以保证正方形适合窗口而不滚动? 的相关文章

随机推荐

  • 将可执行文件链接到第三方依赖共享库时,C++ CMake 未定义引用

    我读了很多相关主题 例如1 2 3 但我自己没有找到答案 所以我在这里 我有一个可构建且可执行的 CMake 项目 假设为 x 我创建了一个名为 a so 的共享库 它依赖于另一个名为 b so 的共享库 我想在 x 中使用 a 这是我简化
  • 无法从 ASP 计时器滴答事件中找到 ASP Repeater 子控件

    见下图 Scenario 我有一个repeater控制轴承 ID rpt1 在 ItemTemplate 中我有一个量程控制其 ID 为 abc 当前显示的是一个数字 我也有一个ticker above the repeater in fo
  • PHP 中的远程 MySQL 连接

    我开始将软件项目从桌面应用程序迁移到 Web 应用程序 目前我正在使用与其安装的桌面关联的本地 PHP MySQL 连接 我希望解决这个问题 并尝试通过我的 1and1 帐户创建一个 MySQL 数据库 我毫不费力地创建了一个数据库并记录了
  • 如何连接多个CString

    所有函数都返回 CString 这是 MFC 代码 必须以 32 和 64 位进行编译 目前我正在使用 CString sURI GetURL sURI GetMethod sURI sURI GetParameters 存在任何方式可以执
  • 无法启动 weblogic BEA-002606

    我在我的 Mac 机器上运行 Weblogic 10 3 的托管实例 有一天 我尝试启动它 但收到此错误消息
  • SQL多次更新同一行

    我们可以考虑对同一行进行多次更新的必要性的一个示例 create table t c1 int insert into t c1 values 1 insert into t c1 values 2 insert into t c1 val
  • JetBrains Fleet:运行 Flutter 项目

    我正在尝试 JetBrains Fleet 我正在考虑在其中制作一个示例 Flutter 项目 但不知道如何配置run json对于 Flutter 项目 终端命令非常简单 flutter run debug or flutter run
  • 如何使用麻雀图在 wp8 中创建简单的区域系列

    我需要为我的 wp8 应用程序创建一个面积系列图表 所以我决定使用 Sparrow 工具包 但不幸的是 网上似乎确实有任何教程 我只是在研究如何开始它 所以如果有人可以给出基本的解释或给我指出一个像样的教程 那就太好了 如果有人知道更好的工
  • 如何获取隐藏 ID 来删除 jQuery 数据表中的记录

    我的 jQuery 数据表中有 编辑 和 删除 按钮 第一列是记录 ID 列并且是隐藏的 我有 编辑 和 删除 按钮的事件处理程序 我应该使用 DataTable click 和 tr 函数的事件处理程序来获取 id 或者如果使用按钮事件处
  • 错误:Fortran 格式字符串中的格式字符串意外结束

    尝试从 Fortran 77 程序编译复制的代码时出现此错误 code 900 FORMAT 1H0 2X ABSOLUTE GRID LIMITS FOR DATA RETENTION FOR RADAR I3 XMIN XMAX 2F8
  • 动态分配的二维数组

    我正在尝试通过动态分配来构建二维数组 我的问题是 它的第一个维度是否有可能采用 100 个值 然后第二个维度将根据我的问题采用可变数量的值 如果可能的话我将如何访问它 我怎么知道第二维度的边界 见代码中的注释 结果你会得到一个如下所示的数组
  • 使用 GetModuleHandle 获取指向 IMAGE_DOS_HEADER 的指针?

    一旦进程加载到内存中 我就试图获取它的图像库 根据我的理解 您可以调用 GetModuleHandle 来获取图像库 我的问题是 返回的句柄本质上是否指向 IMAGE DOS HEADER 结构 以便您可以执行以下操作 PIMAGE DOS
  • 为什么 Rust Closure 在被调用之前取得所有权

    我正在阅读 Rust 这本书 正在阅读描述闭包的章节 我有点困惑为什么以下示例由于闭包获取所有权而出错 fn main let x vec 1 2 3 let equal to x move z z x println can t use
  • 在内联汇编中访问 C++ 类成员

    问题 如何从非 POD 类中访问程序集中的成员变量 详细说明 我已经为类成员函数编写了一些内联汇编代码 但令我困惑的是如何访问类成员变量 我已经尝试过offsetof宏 但这是一个非 POD 类 我当前使用的解决方案是将全局范围的指针分配给
  • 提供密钥时,Google 静态地图始终返回 403

    如果我在地图请求中提供 API 密钥 我总是会收到 403 Forbidden 响应 无需指定 一切都会顺利 我可以到达地图 问题是我必须使用 API 密钥才能监控使用情况和每用户配额 这是一个例子 http jsfiddle net de
  • MySQL中如何存储科学计数法数字

    我想在 MySql 中存储科学记数法数字 我已将它们保存到具有数据类型的字段中decimal 问题是它以正常表示法存储它 至少当我在 MAMP 附带的 Web 控制台中查看数字时看起来是这样 因此您需要为该字段分配更多字节 我相信这会导致拥
  • WebAPI / Owin - 登录后身份未授权

    我正在使用 WebAPI Owin 3 0 实现简单的登录 密码身份验证 这是我的配置方法 public void ConfigureAuth IAppBuilder app Configure the db context and use
  • C++ 类成员的默认值是多少

    C 中结构成员和类成员的默认值是什么 这些规则有何不同 例如 类 结构 基元 等之间 关于默认值的规则是否存在不同的情况 在 C 中 结构和类在这方面没有区别 他们都被称为只是类别类型 一般情况下 类类型的成员没有默认值 为了让类成员获得确
  • Rust 中 tribonacci 序列的惯用实现

    我是 Rust 新手 但作为 Haskell 的粉丝 我非常欣赏这种方式match在 Rust 中工作 现在 我面临着一种罕见的情况 我确实需要失败 从某种意义上说 我希望执行几个重叠案例的所有匹配案例 这有效 fn options sta
  • 有没有一种 CSS 方法可以保证正方形适合窗口而不滚动?

    我可以在 JavaScript 中轻松完成此操作 但想知道是否可以使用直接 CSS 在窗口中保留一个适合窗口大小的方形 div 无论它是什么 我发现的任何解决方案都不能解决高度小于宽度的问题 从逻辑上讲 我想要的是 当窗口宽度小于高度时 给