完美解决CSS网页水平居中

同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋,下面让我们先来看一下CSS中常见的几种让元素水平居中显示的方法。

  CSS常见的让元素水平居中显示方法

  用CSS让元素居中显示并不是件很简单的事情—同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋。让我们先来看一下CSS中常见的几种让元素水平居中显示的方法。

  1.使用自动外边距实现居中

  CSS中首选的让元素水平居中的方法就是使用margin属性—将元素的margin-left和margin-right属性设置为auto即可。在实际使用中,我们可以为这些需要居中的元素创建一个起容器作用的div。需要特别注意的一点就是,必须为该容器指定宽度:

  div#container{ margin-left:auto; margin-right:auto; width:168px; }

  在大多数主流浏览器中,这种方法都非常有效,即使是Windows平台上的IE6,在其标准兼容模式(compliancemode)下也能够正常显示。但不幸的是,在更低版本的IE中,这种设置却并不能实现居中效果。所以若想在实际项目中使用这种方法,那么就要确保用户的IE浏览器版本不低于6.0。

  尽管在支持上不尽如人意,但大多数设计师都建议尽可能地使用这种方法。该方法也被认为是在各种用CSS实现元素水平居中方法中最正确、最合理的一种。

  2.使用text-align实现居中

  另一种实现元素居中的方法是使用text-align属性,将该属性值设置为center并应用到body元素上即可。这种做法是彻头彻尾的hack,但它却能兼容大多数浏览器,所以在某些情况下也自然必不可少。

  之所以说它是hack,是因为这种方法并没有将文本属性应用到文本上,而是应用到了作为容器的元素上。这也给我们带来了额外的工作。在创建好布局必须的div之后,我们要按照如下代码为body应用text-align属性:

  body{ text-align:center; }

  之后会出现什么问题吗?body的所有子孙元素都会被居中显示。

  因此,我们就需要用再写一条规则,让其中的文本回到默认的居左对齐:

  p{ text-align:left; }

  可以想象这条附加的规则将带来一些不便。另外,真正完全遵循标准的浏览器并不会改变容器的位置,而只会让其中的文字居中显示。

  3.组合使用自动外边距和文本对齐

  因为文本对齐居中方式有着良好的向下兼容性,且自动外边距方式也被大多数当代浏览器支持,所以很多设计师将二者组合起来使用,以期让居中效果得到最大限度的跨浏览器支持:

  body{ text-align:center; } #container{ margin-left:auto; margin-right:auto; border:1pxsolidred; width:168px; text-align:left }

  可是这始终是个hack,无论如何也算不上完美。我们还是需要为居中容器中的文本编写附加的规则,但至少在各个浏览器中看起来都不错。

  4.负外边距解决方案

  负外边距解决方案远不是仅仅为元素添加负外边距这么简单。这种方法需要同时使用绝对定位和负外边距两种技巧。

  下面是该方案的具体实现方法。首先,创建一个包含居中元素的容器,然后将其绝对定位于相对页面左边边缘50%的位置。这样,该容器的左外边距将从页面50%宽度的位置开始算起。

  然后,将容器的左外边距值设置为负的容器宽度的一半。这样即可将该容器固定在页面水平方向的中点。

  #container{ background:#ffcurl(mid.jpg)repeat-ycenter; position:absolute; left:50%; width:760px; margin-left:-380px; }

  看,没有任何hack!虽然这并不是首选的解决方案,但也是个不错的方法,且适用性极广—甚至在NetscapeNavigator4.x中都没有任何问题,很令人吃惊,不是吗?所以若想得到最广泛的浏览器支持,那么这种方法将会是最好的选择。

手把手教您国内安装 Claude Code 并配置自定义大模型(包含New-API中转和可视化管理工具的使用) 国内免魔法畅用 Claude Code!手把手教你 Windows 安装、配置文件写法、对接阿里百炼 / DeepSeek / 智谱✨,附完整参数、正确命令、三方工具管理方案,新手一次成功!✅ 阅读详情

相关推荐

四、SVN客户端tortoiseSVN的基本功能介绍

档案浏览器(Repo-browser) 鼠标右键–>tortoiseSVN->版本库浏览器 输入版本库URL地址,进入如菜单界面 版本库浏览器支持SVN及http两种最常用的通信协议 SVN服务器访问方式 方法 模式 访问方法 File:// 直接版本库访问(本地磁盘) http:// 通过配置subversion的WEB服务器的WEBDAV协议 http...

也许是我送你哦 1011

解决 CSS 水平居中

同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋,下面让我们先来看一下CSS中常见的几种让元素水平居中显示的方法。 CSS常见的让元素水平居中显示方法 用CSS让元素居中显示并不是件很简单的事情同样的合法CSS居中设置在不同浏览器中的表现行为却各   同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋,下面让我们先来看一下CSS中常见的几种让元素水平居中显示的方法。   CSS常见的让元素水平居中显示方法   用CSS让元素居中显示并不是件很简单的事情—同样的合法CSS居中设置在

lining213的专栏 1365

104报文解析工具

可选择包含报文的文本文件或日志文件进行解析,可选择按条数范围或时间范围,输出结果可以在报文解析显示区,也可以输出到文件。可以对文本内容的报文文件进行高级分析,包括遥信遥测等通讯数据的具体信息,通讯帧的统计,通讯次数的统计,各种错误的分析,报文的定位功能,传输的文件具体内容等。输入完成后点击工具栏的解析报文按钮或使用右键菜单的解析就可以对报文进行解析。在报文输入区输入待解析报文并解析后,解析结果就显示在报文解析显示区和报文定位展示区及报文定位条目区。当有多条报文解析后,可以通过报文列表树具体定位某条报文。

XZHOUMIN的博客 5949

html中的“居中”问题详解(超全)

本文将深入探讨HTML中各种居中问题,从基本的文本居中到元素居中布局,涵盖了各种常见的情景和解决方案。通过本文,读者将能够全面理解HTML中的居中技巧,为其网页设计和开发提供实用的指导和建议。

前端全栈大佬 2万+

FPGA实战:手把手教你实现VESA DSC编码(附Verilog代码解析)

本文详细介绍了如何使用FPGA实现VESA DSC编码器,包括核心架构设计、Verilog代码实现与优化技巧。通过流水线设计、色彩空间转换和预测编码等关键技术,帮助开发者掌握工业级DSC编码器的开发流程,并提供实用的调试与性能优化方法。

weixin_29165725的博客 404

Spring Boot 与 Redisson 版本适配深度解析

Spring Boot 与 Redisson 的版本适配是一个动态演进的过程。开发者需要密切关注两者官方的版本更新日志,建立完善的版本验证机制。本文提供的适配方案基于当前最新技术状态(2024年1月),建议在实际生产环境中通过灰度发布策略验证版本兼容性。只有深入理解底层技术原理,才能在分布式系统的星辰大海中稳健航行。延伸阅读Spring Boot 官方迁移指南。

fudaihb的博客 1083

CSS入门级笔记(2)

第六章 CSS3盒模型 1 元素分类 在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。 常用的块状元素有: <div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、&lt

weixin_45942949的博客 172

传感器使用——ESP-WROOM-32 and INMP441麦克风音频采集

传感器使用——ESP-WROOM-32 and INMP441麦克风音频采集,数据显示及matlab操作界面。

qq_41958946的博客 7354

关于chrom浏览器不居中问题

在做网页的时候遇到了在chrom浏览器不居中的问题 代码 在除了chrom浏览器之外的浏览器div2在div1里面都会居中的,上网查了查很多答案, 有设置宽度,设置margin 的,我感觉最简单的方法就是在div2 style里面加上一句就够了 margin:0 auto;

nameyuxiang的专栏 755

YOLOv13添加轻量化的EMA模块Faster_EMA,轻量又涨点!map50提升4.56个点,召回率提升9.66!

本文介绍了YOLOv13模型的优化移植方法,通过添加Faster_EMA模块和超参数调整,使模型性能显著提升。主要修改包括:1) 创建新的模型配置文件yolov13-Faster_EMA.yaml;2) 在tasks.py中添加新模块;3) 修改__init__.py和block.py文件,新增Partial_conv3和DropPath类。优化后模型mAP50提升4.56%,召回率提升9.66%,验证了改进方案的有效性。代码实现了局部卷积和随机深度等先进技术,为YOLO系列模型性能优化提供了新思路。

FJN110的博客 2605

一文掌握 MongoDB 详细安装与配置(Windows / Linux / macOS 全平台)

本文详细介绍了MongoDB社区版7.0+在Windows、Linux和macOS三大操作系统上的完整安装、配置与安全加固流程。主要内容包括:各平台推荐安装方式(Windows使用MSI安装包、Linux通过官方仓库、macOS通过Homebrew)、基本配置参数说明、服务启动方法以及关键安全措施(如创建管理员用户和启用身份验证)。文章还提供了系统最低要求、下载地址、数据目录设置建议以及生产环境使用注意事项,适合开发、测试及生产环境部署参考。

数据知道的博客 6711

解决Edge浏览器打印不居中问题

禁用edge更新 edge退回旧版本 edge浏览器打印不居中

lymylp的博客 3494

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

php input框水平居中,完美解决CSS网页水平居中问题

保存同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋,下面让我们先来看一下CSS中常见的几种让元素水平居中显示的方法。CSS常见的让元素水平居中显示方法用CSS让元素居中显示并不是件很简单的事情—同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋。让我们先来看一下CSS中常见的几种让元素水平居中显示的方法。1.使用自动外边距实现居中CSS中首选的让元素水平居中的方法就是使用mar...

weixin_39697143的博客 573

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

css布局中的居中问题

主要的样式定义如下:body {TEXT-ALIGN: center;}#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; } 说明:首先在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT

Blurxx | 与 java 共舞 734

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

父元素设置垂直居中(display:table-cell;vertical-align:middle)会出现间隙

在一些情况下,我们需要对图片设置垂直水平居中的效果 html <div class="img"> <img src="../../../static/images/renlainzhuapai.png" alt=""> </div> css .result-list li .img{ width: 210px; height: 210px; ...

fk129 476

div中的input居中_总结下CSS水平居中的方法

自从用了flex以后就很少再研究布局问题了,不过最近在上网课,又复习了很多居中的小技巧,在这里总结下。首先说说水平居中:文本居中这是最简单的居中方式,只需要在父元素设置text-align:center即可CSS:.HTML:<最终效果:这个方法适合做标题栏。虽然是文本居中,但实际上指的是子元素中的行内元素居中,那么行内元素除了上面的文本,还可以是行内块级元素,文本不能指定固定宽高,行内块级...

weixin_39808803的博客 7983

14种CSS实现水平或垂直居中的技巧

前言css水平和垂直居中是一个亘古不变的话题,它常常出现在优美的网页上以及各大前端面试当中。说来惭愧,在两年前面试的时候,我完全不知道如何做到水平和垂直均居中的方法,那场面别提有多尴尬了(...

前端开发博客 1万+

CSS水平或垂直居中技巧

前言 css水平和垂直居中是一个更古不变的话题,它常常出现在优美的网页上以及各大前端面试当中。说来惭愧,在两年前面试的时候,我完全不知道如何做到水平和垂直均居中的方法,那场面别提有多尴尬了(ps:特想找个地洞钻进去)。。。时隔两年,对于这个问题算是有一些了解了,现做个小小的整理,也算是对自己学习的总结。 注:文中例子没写明html代码时,使用的是下面结构: <div class="examp...

摆脱菜鸟,砥砺前行 1977

CSS 版心居中:使页面内容完美居中

在现代网页设计中,推荐使用。

m0_62599305的博客 1009

css文字居中 小结

<br />很多时候会感觉这种问题实在是不能算作问题。但是,往往有时候我们最初的解决方法会存在着些许问题:(<br />今天就抽空写下这个,先mark下了,呵呵。<br />也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的<td>、<th>、<caption>

滴水穿石的专栏 2294

php中div水平居中,CSS常见的让元素水平居中显示的方法

CSS常见的让元素水平居中显示的方法互联网 发布时间:2009-04-02 19:37:28 作者:佚名 我要评论网页制作Webjx文章简介:用CSS让元素居中显示并不是件很简单的事情—同样的合法CSS居中设置在不同浏览器中的表现行为却各有千秋。让我们先来看一下CSS中常见的几种让元素水平居中显示的方法。用CSS让元素居中显示并不是件很简用CSS让元素居中显示并不是件很简单的事情—同...

weixin_39633493的博客 228

css纵向滚动条自适应,纯css实现完美决对居中 自动滚动条 根据内容宽度、高度自适应,垂直水平居中,自动出现滚动条。.doc...

纯css实现完美决对居中 自动滚动条 根据内容宽度、高度自适应,垂直水平居中,自动出现滚动条。.doc还剩3页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,喜欢就下载吧,价低环保!内容要点:根据内容宽度、高度自适应,垂直水平居中,内容高度超过窗体时,垂直居顶* { margin:0; padding:0; list-style:none; font-size:14px;}/*---该 css...

weixin_39979617的博客 728

CSS 居中问题

关于元素居中问题的解决方法

L-YASHU 553

css-页面布局(居中对齐详解)

入门前端,首先接触到的技术就是html,css。首先说css布局这块,逻辑性的东西不多,或者根本就没有。难的是如何熟练运用css + html设置出漂亮的页面布局尤为重要。而如何实现一个div在页面中居中对齐,又是一个难啃指点。下面结合实例分享一些css技巧。 居中布局 大家都知道居中布局分两种,水平居中布局和垂直居中布局。这两种技术在目前的web开发中很常见,时不时都会碰到。话说回来,水平居中布...

4564
上一篇: 代码重构学习笔记-更新中~
下一篇: eclipse各版本介绍
IMSIB
博客等级 码龄17年 5粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值