外部CSS对html、body标签不生效,无法设置100%高度问题求助
样式不生效的常见原因及对应解决方法
- 路径匹配问题
你HTML代码中引入样式的路径为CSS/style.css,注意检查项目目录结构是否符合要求:是否存在首字母大写的CSS文件夹、文件夹内是否存在style.css文件、文件名大小写是否完全匹配(部署在Linux类服务器上时大小写敏感,拼写错误会直接导致样式文件加载失败)。可以按F12打开浏览器开发者工具,切换到「网络」面板刷新页面,查看style.css是否加载成功,如果返回404就是路径错误。 - 后续样式覆盖
你先加载了style.css,后加载了main-nav.css,如果main-nav.css中也写了html或body的height相关规则,相同权重下后加载的样式会覆盖前者的规则。可以在开发者工具的「元素」面板选中body标签,查看样式栏中你写的height:100%规则是否被划掉,如果被划掉就说明被其他规则覆盖了,调整样式加载顺序或者提升style.css中规则的权重即可。 - 缺失DOCTYPE声明触发怪异模式
你给出的HTML代码没有在最顶部书写<!DOCTYPE html>声明,浏览器会进入怪异(Quirks)模式,该模式下百分比高度的计算逻辑和标准模式不同,会导致height:100%不生效,在HTML代码最开头补全DOCTYPE声明即可。 - 浏览器缓存问题
如果你修改CSS后没有刷新缓存,浏览器可能加载的是旧的样式文件,按Ctrl+F5(Mac为Cmd+Shift+R)强制刷新页面即可。
内容的提问来源于stack exchange,提问作者Michael Krapf
相关产品推荐
相关产品推荐

