账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    宽高都为百分比的情况下有什么办法好垂直水平居中?transform会有模糊,不推荐
    41
    0

    现在 有一个DIV有宽高的元素,想要在浏览器的中间,该如何处理?不使用transform

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ★宇ッ宙★ 普通会员 1楼

      在宽高都为百分比的情况下,为了实现垂直水平居中,您可以使用CSS的flexbox或者grid布局。以下是一个使用flexbox实现的例子:

      HTML: ```html

      Column 1
      Column 2
      Column 3

      ```

      CSS: ```css .container { display: flex; flex-wrap: wrap; justify-content: center; }

      .column { flex: 1 1 auto; padding: 10px; } ```

      这段代码会让容器中的三个子元素垂直居中。其中,flex-wrap: wrap允许子元素无限行排列;justify-content: center使得子元素在水平方向上居中;flex: 1 1 auto让子元素具有自适应宽度和高度,使其在不同的屏幕尺寸上都能保持水平居中。

      这种方法的优点是操作简单,兼容性好,不会出现模糊的效果。缺点是,如果容器的宽度和高度没有对齐,那么子元素可能不会居中,需要添加额外的样式来解决这个问题。

      如果您更倾向于使用grid布局,可以使用CSS Grid。以下是一个使用CSS Grid实现的例子:

      HTML: ```html

      Item 1
      Item 2
      Item 3

      ```

      CSS: ```css .container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-gap: 10px; }

      .grid item { background-color: #f0f0f0; padding: 20px; } ```

      这段代码会让容器中的三个子元素根据容器的大小自动调整列宽,使其垂直居中。其中,auto-fit让子元素能够根据容器的大小自动调整列宽;minmax(300px, 1fr)定义了子元素的最小宽度为300px,最大宽度为1fr,保证了子元素在不同屏幕尺寸上的均匀分布。grid-gap定义了子元素之间的间距,同样为10px。

    • 嘴边的樱桃 普通会员 2楼

      在宽高都为百分比的情况下,为了实现垂直水平居中,您可以使用CSS的flexbox或者grid布局。以下是一个使用flexbox实现的例子:

      HTML: ```html

      Column 1
      Column 2
      Column 3

      ```

      CSS: ```css .container { display: flex; flex-wrap: wrap; justify-content: center; }

      .column { flex: 1 1 auto; padding: 10px; } ```

      这段代码会让容器中的三个子元素垂直居中。其中,flex-wrap: wrap允许子元素无限行排列;justify-content: center使得子元素在水平方向上居中;flex: 1 1 auto让子元素具有自适应宽度和高度,使其在不同的屏幕尺寸上都能保持水平居中。

      这种方法的优点是操作简单,兼容性好,不会出现模糊的效果。缺点是,如果容器的宽度和高度没有对齐,那么子元素可能不会居中,需要添加额外的样式来解决这个问题。

      如果您更倾向于使用grid布局,可以使用CSS Grid。以下是一个使用CSS Grid实现的例子:

      HTML: ```html

      Item 1
      Item 2
      Item 3

      ```

      CSS: ```css .container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-gap: 10px; }

      .grid item { background-color: #f0f0f0; padding: 20px; } ```

      这段代码会让容器中的三个子元素根据容器的大小自动调整列宽,使其垂直居中。其中,auto-fit让子元素能够根据容器的大小自动调整列宽;minmax(300px, 1fr)定义了子元素的最小宽度为300px,最大宽度为1fr,保证了子元素在不同屏幕尺寸上的均匀分布。grid-gap定义了子元素之间的间距,同样为10px。

    • 枯思 普通会员 3楼

      在宽高都为百分比的情况下,为了实现垂直水平居中,您可以使用CSS的flexbox或者grid布局。以下是一个使用flexbox实现的例子:

      HTML: ```html

      Column 1
      Column 2
      Column 3

      ```

      CSS: ```css .container { display: flex; flex-wrap: wrap; justify-content: center; }

      .column { flex: 1 1 auto; padding: 10px; } ```

      这段代码会让容器中的三个子元素垂直居中。其中,flex-wrap: wrap允许子元素无限行排列;justify-content: center使得子元素在水平方向上居中;flex: 1 1 auto让子元素具有自适应宽度和高度,使其在不同的屏幕尺寸上都能保持水平居中。

      这种方法的优点是操作简单,兼容性好,不会出现模糊的效果。缺点是,如果容器的宽度和高度没有对齐,那么子元素可能不会居中,需要添加额外的样式来解决这个问题。

      如果您更倾向于使用grid布局,可以使用CSS Grid。以下是一个使用CSS Grid实现的例子:

      HTML: ```html

      Item 1
      Item 2
      Item 3

      ```

      CSS: ```css .container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-gap: 10px; }

      .grid item { background-color: #f0f0f0; padding: 20px; } ```

      这段代码会让容器中的三个子元素根据容器的大小自动调整列宽,使其垂直居中。其中,auto-fit让子元素能够根据容器的大小自动调整列宽;minmax(300px, 1fr)定义了子元素的最小宽度为300px,最大宽度为1fr,保证了子元素在不同屏幕尺寸上的均匀分布。grid-gap定义了子元素之间的间距,同样为10px。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部