首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用viewport坐标对齐div

使用viewport坐标对齐div
EN

Stack Overflow用户
提问于 2020-02-12 15:00:54
回答 2查看 106关注 0票数 0

我正在学习CSS,我是这个领域的新手。如果我的问题太天真,请原谅。

我有一个简单的HTML,包含一个div

代码语言:javascript
复制
.square {
  background-color: blue;
  width: 90vw;
  height: 90vh;
  margin-left: 5vw;
  margin-right: 5vw;
}
代码语言:javascript
复制
<!doctype html>

<head>
  <link href="viewport-cord.css" rel="stylesheet" type="text/css" />
</head>

<body>
  <div class='square'></div>
</body>

我期望在div的两边有5%的视口宽度。然而,与右侧相比,我们在div的左边似乎有更大的差距。我不知道这些额外的利润是从哪里来的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-12 15:06:38

你可以这样做:给最大值,然后减去10% (每边5%),然后中间正方形与边缘自动。

CSS

代码语言:javascript
复制
.square {
    background-color: blue;
    width: calc(100vw - 10%);
    height: 100vh;
    margin: 0 auto;
}

这里的演示

票数 1
EN

Stack Overflow用户

发布于 2020-02-12 15:34:48

既然您说您是HTML & CSS的新手,那么让我简要介绍一下如何根据viewport添加元素的宽度。

视口

视图是浏览器中的区域,实际内容显示为,换句话说,您的浏览器没有工具栏和按钮。单位是vwvhvminvmax。它们都代表了浏览器(viewport)维度的百分比,并相应地调整了窗口大小。

假设我们有一个1000 we (宽度)乘以800 we(高度)的视口:

  • 大众-代表1%的视口宽度。在我们的例子中,50 In =500 In。
  • vh -窗口高度的百分比。50=400。
  • vmin -两者中最低的一个百分比。

在我们的示例中,50vmin =400 we,因为我们处于景观模式。vmax -较大维数的百分比。50 50vmax =500。

您可以在任何可以指定以像素为单位的值的地方使用这些单位,例如在widthheightmarginfont-sizemore中。它们将在窗口调整大小或设备旋转时由浏览器重新计算。

案例1

现在考虑到您的问题,我没有看到任何宽度的变化,因为如果您看到您的检查器->布局->边距,我可以看到两边显示64在您提供的屏幕截图。

案例2

如果你真的再次看到你的系统的变化。尝试删除您提到的外部CSS,看看是否会导致任何问题,然后将margin:0px放在html和body中。

希望你能得到帮助..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60191211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档