修复响应式设计中social_links在560px宽度后左对齐的问题
问题原因
你的代码中,social__links及其内部列表的居中样式仅在屏幕宽度≤576px时生效,当屏幕超过这个宽度后,居中样式丢失,导致模块左对齐。
解决方案
将居中布局的基础样式从max-width:576px的媒体查询中移出,设置为全局默认样式,确保所有屏幕尺寸下都保持居中。媒体查询内仅保留小屏幕特有的尺寸调整即可。
修改后的完整CSS代码
* { box-sizing: border-box; list-style: none; } body { align-items: center; margin: 0; padding: 0; display: grid; place-items: center; } .container { width: 30em; margin: 4em; } /* 全局默认居中样式,所有屏幕生效 */ .social__links { display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; } .social__links ul { padding: 0; width: 100%; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; } .social__links ul li a { display: flex; align-items: center; justify-content: center; } .social__links ul li { width: 100%; margin: 1.2rem 0; padding: 0.4rem 0.8rem; perspective: 500px; user-select: none; } .js-tilt-glare { border-radius: 5px; } span { border-bottom: none; } .social__links ul li a i { text-align: center; line-height: 4rem; padding: 10px 20px; transform: scale(1.4) translateZ(50px); transition: 0.25s; } .social__links ul li a span { line-height: 1.4rem; } @media only screen and (max-width: 549px) { .container { width: 88vw; } } @media all and (max-width: 1158px) { .navbar .links { display: none; } .navbar .toggle { display: block; } .dropdown_menu { display: block; } .msg { font-size: 18px; } #br { width: 35%; } } @media all and (max-width: 576px) { .social__links p { font-size: 18px; margin-top: 0.5rem; } } @media (max-width: 768px) { .social__links ul li { padding: 0.3rem 0.6rem; } .social__links ul li a i { font-size: 1.5rem; line-height: 3rem; padding: 8px 16px; } .social__links ul li a span { font-size: 0.9rem; } } @media (max-width: 576px) { /* 仅保留小屏幕特有的尺寸调整 */ .social__links ul li { padding: 0.2rem 0.4rem; width: 100%; margin: 1rem 0; padding: 0.2rem 0.5rem; text-align: center; } .social__links ul li a i { line-height: 2.4rem; padding: 6px 12px; } } .social__links p { font-size: 18px; margin-top: 0.5rem; } @media (max-width: 460px) { .social__links ul li a h3 { font-size: 1rem; } .social__links ul li a p { font-size: 0.8rem; } }
关键改动说明
- 把原本在
max-width:576px媒体查询中的social__links、social__links ul、social__links ul li a的居中布局样式,移到全局CSS中,作为默认样式,确保所有屏幕宽度下都保持居中。 - 在
max-width:576px的媒体查询中,仅保留小屏幕需要的内边距、行高这类尺寸调整样式,移除重复的居中布局代码。
这样修改后,无论屏幕宽度是否超过560px,social_links模块都会始终保持居中显示。
内容的提问来源于stack exchange,提问作者Kafası Güzel Penguen
相关产品推荐
相关产品推荐

