android - Div 在 Android 上居中对齐但在 iPhone 上不居中

标签 android html ios css

我的 HTML 有几个带有 display: inline-block 的内部 div,在带有 text-align: center; 的外部 div 中。这是预期的行为:在大屏幕上,一些 div 将并排显示(多少取决于每个内部 div 和外部 div 的大小)并且集合将居中对齐。当屏幕宽度变窄时,div 将重新定位,在小型智能手机屏幕中,我们每行只有一个 div,居中对齐。

这是我的 MCVE:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta charset="UTF-8">
  <title>Align center</title>
  <style type="text/css">
    body {
      background-color: white;
    }
    
    div.container {
      margin: auto;
      max-width: 1000px;
      text-align: center
    }
    
    div.block {
      margin: 4px;
      display: inline-block;
      width: 320px;
      height: 400px;
      background-color: green;
    }
  </style>
</head>

<body>
  <div class="container">
    <div class="block"></div>
    <div class="block"></div>
    <div class="block"></div>
    <div class="block"></div>
    <div class="block"></div>
    <div class="block"></div>
    <div class="block"></div>
    <div class="block"></div>
    <div class="block"></div>
    <div class="block"></div>
  </div>
</body>

</html>

如果您更改窗口的大小,您会看到 div 重新定位(SO fragment 非常小,无法看到此行为,但您可以单击“整页”并调整窗口大小)。

我的问题:

在智能手机中,每行只有 1 个 div,这正是我想要的。但我的问题是 div 在 iPhone 上没有居中对齐,尽管在 Android 手机上是完美对齐的。

使用上面的代码,这是在安卓手机上的结果,你可以看到左右两边的白边是一样的:

enter image description here

但现在在 iPhone 上:

enter image description here

div 稍微偏右。

如何使 div 居中对齐?


注意 1:我在问题标题中写了 AndroidiPhone 因为我不确定这个问题是否取决于操作系统 ( Android 与 iOs)或浏览器(移动 Chrome 与移动 Safari)。我不认为这是 Safari 的问题,因为 iPad 和 MacBook 上的 div 是可以的。

注意 2:这可能不是“对齐”问题:在 iPhone 上,就像 div 没有被“压缩”以适合屏幕。

最佳答案

在你的头标签中添加这个,

<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

从你的 CSS 中移除 div.container

将 block css 更改为

.block {
    width: 100%;
    height: 400px;
    background-color: green;
    display: flex;
    justify-content: center;
    align-content: center;
}

如果你想在全屏的 1 行中一次显示 3 个 block :

<div class="container">
    <div class="col-lg-4">
      <div class="block"></div>
    </div>
    <div class="col-lg-4">
      <div class="block"></div>
    </div>
    <div class="col-lg-4">
      <div class="block"></div>
    </div>
  </div>

关于android - Div 在 Android 上居中对齐但在 iPhone 上不居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38247868/

相关文章:

java - setOnClickListener 方法中的重复代码 - android - java

Android - 从渲染器切换 Activity

jquery - 平滑缩放动画 JQuery

ios - swift 将文件类型与 iOS 应用程序相关联

ios - 以编程方式/命令打开 iOS 开发人员菜单

android - 任务 ':app:compileDebugRenderscript' 执行失败

android - IDE 无法创建目录。可能原因 : parent directory is read-only or the user lacks necessary permissions

javascript - JQuery 调用函数

javascript - 如何在 iFrame 上使用 CSP

ios - 升级到 Firebase 5 并遇到身份验证问题。无法转换“(用户?,错误?)类型的值