Container容器的max-width在响应式布局中怎么失效了?

上官好妍 阅读 16

我用了一个Container组件,设置了max-width: 1200px,但在小屏设备上发现内容还是超出了屏幕宽度,滚动条都出来了。

明明写了媒体查询,也试过加width: 100%,但没用。是我写法有问题吗?相关代码如下:

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

@media (max-width: 768px) {
  .container {
    width: 100%;
    padding: 0 12px;
  }
}
我来解答 赞 10 收藏
二维码
手机扫码查看
2 条解答
UX-可慧
UX-可慧 Lv1
应该是box-sizing的问题,没算padding。改成这样:

.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 16px;
box-sizing: border-box;
}

@media (max-width: 768px) {
.container {
max-width: 100%;
padding: 0 12px;
}
}


加个box-sizing就搞定了,这坑我踩过三次...
点赞 1
2026-03-08 09:15
楠楠
楠楠 Lv1
你这个写法其实没大问题,但问题出在“小屏设备上内容超出”这个现象——很可能不是容器本身的问题,而是里面嵌套的元素没控制好宽度,比如图片、表格、或者第三方组件(比如嵌入的 YouTube、Instagram)默认是固定宽度的,容器设了 max-width 没用,里面内容自己撑爆了。

你先检查下:打开浏览器开发者工具,在小屏模式下点那个“超出屏幕”的元素,看它实际宽度是不是比 viewport 还大,尤其是