Invalid001:无width使margin auto无效

Invalid001:无width使margin auto无效

Invalid001:一个元素,当没有设置width时,margin:0 auto设置内容水平居中对齐无效。

正确代码

<div style="width:800px;margin:0 auto;">

故意改错代码。去掉width设置。

<div style="margin:0 auto;">

错误的运行效果。无法内容水平居中两边留白。

冲突原因。元素没有明确指定宽度时,无法自动计算margin-left与margin-right。

底层设计逻辑。当前块元素没有设置width,会与外部块元素的width一致,内外两个块元素同样宽度,所以不存在水平居中。当设置width后,内外两个块宽度不同,才有可能实现水平居中。

这是我们第1次碰到属性设置无效,后续我们讲解更多的属性设置无效、属性设置达不到预期效果,属性值被其它属性值自动修改等情况。

无效性问题的本质

浏览器程序是由C++编写的程序,解析HTML代码与CSS代码进行页面显示,HTML代码与CSS代码相当于页面的配置文件。w3c官方定义html与css显示过程中的各条规范规则,各浏览器厂商按照w3c规范规则编写程序对它们进行实现。

这些规范规则的本质是什么?w3c官方对于页面显示提供一套完整的设计方案,这些规范规则属于它设计方案的一个部分,一定有它底层设计的合理逻辑。

从这个角度看,CSS是一门规范规则性的语言,我们需要学习它的各项规范规则,通过开发者工具识别它,并理解它的底层设计逻辑。

本教程以“Invlid”开头列举所遇到的常见无效性规则。

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值