有趣的居中方式
古老的center标签已经废弃了,css的text-align取代了它。
一、text-align 可以使行内元素居中,也可以使块级元素中的文本居中
如下代码
1 2 3 4 5 6 7 | <div style= "width:400px;border:1px solid gray;padding:5px;text-align:center;" > <span style= "background:yellow;" >使用text-align使行内元素span居中</span> </div> <br> <div style= "width:400px;border:1px solid gray;padding:5px;text-align:center;" > <p style= "background:red;" >使用text-align使行内元素span居中</p> </div> |
效果如图
可见:第一个text-align使得文本和SPAN都居中,第二个text-align则只能使文本居中,块级元素P则没有居中。关于text-align的演变及浏览器兼容性参考 RT8003。
二、margin 自动空白边仅能使块级元素居中
如下代码
1 2 3 4 5 6 7 | <div style= "width:400px;border:1px solid gray;padding:5px;" > <span style= "background:yellow;width:220px;margin:0 auto" >使用margin:auto不能使行内元素居中</span> </div> <br> <div style= "width:400px;border:1px solid gray;padding:5px;" > <p style= "background:red;width:220px;margin:0 auto" >使用margin:auto使块级元素居中</p> </div> |
效果如图
可见:自动空白边并不能使行内元素SPAN(inline-block也不能)居中,但可以使得块级元素P居中。
三、绝对定位居中(position, left, right)
代码如下
1 2 3 4 5 6 7 | <div style= "width:400px;height:50px;border:1px solid gray;position:relative;" > <span style= "background:yellow;position:absolute;left:60px;right:60px;" >使用绝对定位居中行内元素</span> </div> <br> <div style= "width:400px;height:50px;border:1px solid gray;position:relative;" > <p style= "background:red;position:absolute;left:50px;right:50px;" >使用绝对定位方式居中块级元素</p> </div> |
效果如图
父元素使用relative,子元素SPAN和P绝对定位后无需设置width,它会根据left,right值自动计算元素的宽度。这种居中方式很有意思,也很实用。可惜IE6不能正确解析,它忽略了right的值。因此在IE6退出历史舞台前还得放弃这种居中方式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2011-09-21 ajax后退解决方案(五)