正确的使用margin:0 auto与body{text-align:center;}实现元素居中

【C++项目】从零实现RPC框架「三」:项⽬抽象层实现 本文详细介绍了如何从零实现一个 C++ RPC(远程过程调用)框架,包括通信抽象、消息抽象、通信实现、以及消息分发器的实现。通过系统化的代码示例,展示了如何构建一个高效、灵活且可扩展的 RPC 框架。 阅读详情
body{text-align:center}与margin:0 auto的异同?这是一个对齐上的迷惑,刚开始的时候或许大家对它们都不是很理解。我们通过下面的一些小例子来了解他们到底有什么区别,应该在什么样的情形下正确的使用body{text-align:center}与margin:0 auto。我们首先了解一下它们的基本概念:
% _* m4 b* ~/ {: L8 P* B& M1 }, F% v) U: o
  text-align是用于设置或对象中文本的对齐方式。一般情况下我们设置文本对齐方式的时候需要用此属性进行设置,如:
. j' j* w0 @5 q& w0 _+ L2 B- Y& A( X. d
Example Source Code - K; G( _& F: [: k1 J

* C. G5 y/ n  j; @! h1 A) }  div { text-align: left; }  表示文本居左对齐。  i& J% B2 x- z, L8 e

, h- L  F9 `! m1 c- S* }- Y' @
) i3 I! Q" }  w. ^8 F  ?9 t. I; ^  margin是设置对象四边的外延边距,被称为外补丁或外边距。如:
) k  V# p5 T: U0 Y0 i. c1 ?, `+ J3 c0 i9 C6 z% g* Z$ E0 L
Example Source Code
: K, _" S& @, b, i5 `
% }7 N, M; l+ r, Y7 m  div { margin: 20px 10px 30px 40px; }
5 E. y* S; u- P0 Q0 O
9 t0 z: B: S* T/ j; L+ c( ?+ Q  表示对象外边距,顶20px、右10px、下30px、左40px。* @: h' Z* k" F* R( Q) Y8 A
! P. g7 Q% c( `7 Z( m8 v% T
  我们设置某个对象水平方向居中的时候,常常将左右的外边距设置为auto来实现。如:
. K. @0 r: {) l0 q$ Y; A& a5 z8 p8 \6 [2 C5 e7 d9 }
Example Source Code
9 t: u) C; I9 y! |
! q; u2 o7 e( ]/ d( rdiv { margin: 0 auto; }- u2 V& ~0 G$ u: }" t8 @; X

0 B5 L7 z5 }  H  现在的问题是:body{text-align:center}与margin:0 auto的异同。text-align:center设置为文本或img标签等一些内联对象(或与之类似的元素)的居中。margin:0 auto是设置块元素(或与之类似的元素)的居中。但这两个属性IE与FF的理解也有所不同。
9 k% d- P$ |# q  v; y& ^
* G4 U) `. F0 k2 z% K' k2 p  我们设置一个段落P,在段落内存在一个图片img标签。9 u8 a8 }( V) o- j2 i; O6 R
9 J  A# @) T9 q3 b; @4 U) W, X1 }
  我们设置body{text-align:center;}。得到下面的图片:
6 x2 `3 D( E' M8 g5 }: j! K) a$ E" _. O# h8 D' L+ N5 E; N

5 i7 T2 A8 e; Q% Q, `

7 F# T5 A8 b. l1 B. e9 b3 t

 

 

在IE中,段落P,图片img同时实现了居中对齐,也就是说text-align:center;同时作用于元素p与元素img。
& h: J5 c# f6 X3 Q* D( Q* j
- O0 p% g/ ?3 N- B$ F  在FF中,段落P,没有能实现居中对齐,而图片img实现了居中对齐,也就是说text-align:center;作用于img标签,而段落p标签没有起到居中的作用。! W0 e$ L: |9 U4 u! u

% f( Z2 y3 [% @, l/ m, y, |  我们设置段落 p {margin:0 auto;}。得到下面的图片:6 p6 U/ r: N, Z" h+ Q+ l5 y/ c
, G2 z  P! t& d2 F3 l4 J4 \
$ w" K2 w: j7 P, n4 ^

) p! d$ w+ ?0 Q# E) E& V  O

  l$ l* t+ k$ S; ~
5 b' O$ C7 T1 n
  我们发现在IE与FF中,段落P均实现了居中对齐。图片img由于不是作用对象,所以不会居中对齐。7 f- E' S  U1 g% a, |

# R/ W. |, d# v; \. _  有三种情况需要说明:
) H% i  c9 V4 S' F* M+ g3 |" H1 o
3 v& z/ s0 x; l  一、有朋友在操作的时候,将margin:0 auto;的选择器混淆了,应该是作用对象,如div,p,而不是body。如果设置:body { margin:0 auto; }将不会达到任何效果,除非你定义body的宽度,那将会让body内的元素产生位置变化。如我们设置body宽度为500px。对p段落不作任何设置,我们最大化窗口将会看到段落并非处于窗口的最左上角。6 Y4 m7 @) t0 Q8 _# W
8 M+ Y* G0 s. P5 Y$ H
  二,我们设置段落 p {text-align:center;} 将要实现的并不是段落本身的对齐方式,而是段落内元素居中对齐。
4 g5 m. y: `: O- a5 F! X  ~) M6 q6 t( P" m* w% l
  三,我们设置图片标签img {margin:0 auto;} ,我们就犯了一个小错误,img类于内联对象,不可以设置图片img标签的margin属性,如果你一定想要设置,那么首先要将它的属性转变为块元素,如下面的代码:img {display:block; margin:0 auto;}

 

 

有朋友产生疑问了,那该如何使用呢?说说我的建议:
8 M6 J7 w0 E# L% M
. P4 j4 }0 S7 Z; P  如果页面中的元素,均位于div标签或其它块元素内,进行了合理的嵌套,我们不必设置body{text-align:center}。只需要设置相应的div元素margin:0 auto;即可。如上面的代码所讲述,页面中的元素均位于段落p标签中,只需要将段落居中即可。
& I7 ^" U4 Y; p/ e$ m9 k9 F6 o- G/ J4 a8 ^/ H0 L) x6 p
  如果页面中的元素,有一部分不是在div标签或其它块元素内,我们需要设置body{text-align:center}。但也会遇到问题,这样设置以后,大部分内联元素,都居中对齐了,包括页面中其它的一些文本,还需要进行相应的调整才能适应设计的需要。如:我们设置body内有一个段落P,在段落内有一个图片img及一段文本,在body内还存在一个独立的图片img,看下面的图片:
+ r0 s/ I; h. h4 T; X
$ [( n5 ^- O. \: }  D

& Q: e$ r" X/ p' [" ^  v( Z' B

; C7 Y+ R8 ~  i$ {# U  我们实现了段落p的居中,同时也让位于段落外的图片实现了居中,但段落中的图片与文本居中对齐了。如下是运行代码:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  O4 Q; I, z/ i* z- T4 Y; p<html xmlns="http://www.w3.org/1999/xhtml">
) e7 P2 c5 r6 j4 Y2 H- T1 l<head>0 b! Y4 h) [- k& Y6 g  [; N
< meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
$ @- y$ m3 g' i" d4 T7 b<title>www.52css.com</title>
. l. P7 S9 [& L$ A" X7 ^' {7 |<style type="text/css">- q5 }# [2 T8 {/ n
body {
* H) E7 X+ M9 S% x8 i        text-align:center;
0 g9 F% x9 s9 c6 u3 @1 w2 f}
- d+ c* b$ C6 O- pp {
# B$ k" [8 b5 {. l* ^, g. Y        margin:0 auto;# \, d  k5 m, M# [- D
        width:300px;
, }; K# c4 ?0 h  u        background:#06f; 8 `% g. Y, f1 K
}0 B: X$ [! }5 v: S% \1 Z
img {  @4 ?$ n7 |. k+ s* _

$ e+ }7 u/ w( [}, U, V4 `) B' x  Q) ?; s
< /style>
/ o, ]5 E- N. B1 E9 P$ O</head>
  [: d5 q4 s# R+ V<body>9 L. N% h0 H1 P  z
< p>1 a9 q  e0 \7 q2 c
< img src="http://www.52css.com/skins/logo3.gif" alt="52CSS.com - CSS Web Design" width="200" height="90" style="vertical-align:top;" />
# ]  x; D% V0 @4 o: L<br />6 m: r/ \9 f5 f& T
52CSS.com是一个专业的CSS学习站点,内容丰富并且保持每天更新,我们建立了很多QQ群供网友们互动讨论学习,52CSS.com是学习开发符合WEB标准的网页及网站重构的首选站点。
/ J4 }$ m0 O. S</p>4 b1 D  r( h+ ^: Q6 {; T$ u1 J
< br />, y( ^: J0 l; A7 ?' G6 A+ m; K9 K
< img src="http://www.52css.com/skins/logo3.gif" alt="52CSS.com - CSS Web Design" width="200" height="90" style="vertical-align:top;" />
0 Y6 D6 x; g- h. N2 j8 Z9 M</body>
3 ?3 }8 [" l. [: {% S6 W* f</html>

RAP 时代的 Service Binding:把 CDS 业务服务稳稳地“插”到 OData 里 本文深入解析SAP ABAP开发中的关键对象Service Binding,阐述了如何通过三层架构(数据模型、服务定义、服务绑定)实现业务逻辑与协议分离。文章重点分析了Service Binding的核心参数配置,包括服务命名规范、协议类型选择(OData V2/V4、InA、SQL)及服务形态(UI Service与Web API),并通过实际案例说明不同选项的应用场景。同时介绍了服务版本控制机制、发布流程及Fiori预览功能,帮助开发者理解如何通过Service Binding将业务能力高效转化为可消费 阅读详情

相关推荐

利用DRONEKIT-SITL + MAVPROXY + QGroundControl模拟飞行

dronekit: 一种用于无人机控制的python库。 dronekit-sitl:一种本地仿真工具,相当于本地虚拟化了一个无人机。 mavproxy:数据转发软件(类似于插线板的感觉,一个输入,多个相同的输出)。打开一个Anaconda prompt 首先激活相应的环境 然后运行如下命令: 保持2中的Anaconda prompt处于运行状态,另打开一个Anaconda prompt窗口,运行如下命令: tcp:127.0.0.1:5760: SITL默认端口,作为mavproxy的输入,把输入数据转发

Done___的博客 4344

div在html的body中居中对齐(水平 垂直)

div垂直居中与html

fivestar2009的博客 3066

STM32 Modbus-RTU从零到实战:手把手教你用HAL库实现工业通信(附完整代码)

本文详细介绍了如何使用STM32 HAL库从零开始实现Modbus-RTU从机通信。内容涵盖RS485硬件设计、CubeMX串口与定时器配置、基于空闲中断的高效数据接收、协议栈状态机设计、CRC16校验实现以及常用功能码处理。文章提供了完整的代码框架和调试方法,帮助开发者快速构建稳定的工业通信节点。

weixin_28278377的博客 191

HTML学习笔记

CSS的常用属性 1.背景 CSS的背景属性用于定义HTML元素的背景效果。 1.1. background-color 设置元素的背景颜色 body { background-color :#ff0000 ; } 1.2. background-image 设置元素的背景图像,默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体。 body { background- image :url( ' paper .gif'); } 1.3. background-re

lloveccccccc的博客 509

数学建模学习(75):全局敏感性分析Morris 方法

敏感性分析 (SA) 是分析不同应用条件下模型行为的基本实践。提出了许多 SA 技术,从简单的筛选方法到计算成本高昂的基于方差的方法。本篇内容我们通过将 Morris 方法来对模型进行分析。

全栈川川 1万+

iOS应用突然无法从App Store获取到内购(IAP)产品列表的解决

问题现象 Apple开发中,在应用中嵌入内购(IAP)功能的小伙伴们可能会发现,吃着火锅唱着歌,突然App就无法获取到产品列表了,而且产品请求操作并不会返回任何错误。 此时检查发现,并没有对App的内购逻辑做任何改动。 那么,这是什么原因导致的呢? Let’s find out!???? 问题分析 1. 排除其它原因 首先,你先得排除不是你IAP内购逻辑变更或其他原因导致的。 在SKProductsRequestDelegat代理实现的productsRequest方法里下断点: func produc

享受开发,颠倒银河 6142

全面掌握主流CSS布局(水平居中+垂直居中+居中布局)

一,水平居中布局 1、行内元素水平居中 父级元素设置text-align: center ——>实现在块级元素内部的行内元素(inline/inline-block/inline-flex/inline-table)水平居中 <div class="parent"> <div class="child">dome</div> </div> <style> .parent{ text-align: center

NolanKy 的 技术博客 1188

【人工智能】拒绝焦虑,理性突围:AI 时代 Java 工程师的职业重构与进化指南

摘要:在AI技术快速发展的背景下,Java工程师面临职业转型挑战。本文通过MECE原则解构工作内容,划分高替代风险区(如CRUD开发)、高增效潜能区(如逻辑优化)和高核心壁垒区(如架构设计),指出AI对不同任务的影响程度。从劳动经济学视角分析行业将呈现K型分化,初级执行者被替代,而精通AI协作的全栈工程师需求增长。文章强调警惕过度依赖AI导致认知能力退化,并提出转型路径:掌握AI驱动开发(AIDD)、深耕领域驱动设计(DDD)、拓展全流程能力及AI原生应用开发。最终结论指出,未来的核心竞争力在于结合AI工具

奶爸的编程之路,也就一周冷个三天 137

CSS-居中方法总结

常见CSS居中方法1. 水平居中1.1 文本级居中1.2 块级居中2. 垂直居中2.1 文本级居中2.2 块级居中 1. 水平居中 1.1 文本级居中 文本、或具有inline特性的元素,想要使其居中,则设置文本所在容器、或具有inline特性元素的父元素设置如下属性: 元素 { text-align: center; } 实例: div{ width: 100px; height: 100px; border: 5px solid black; text-align: center; } &l

qq_43681073的博客 954

Hindsight 内存爆炸 4 个词排查清单:9,284 条 6 成是 SSH 调试日志——Agent 标签系统的实战复盘

9,284 条记忆里 66% 是 SSH 调试日志。4 个标签被滥用=0 区分度。3 个 entity_labels + retain_mission + retain_every_n_turns 配置把噪声压回 5%——附 PATCH 脚本和实测前后数据。

Starry-SkyJing的博客 58

【WRF理论第十五期】WPS中输入geogrid二进制格式

WPS中输入geogrid二进制格式

WW、forever的博客 1080

实现垂直水平居中的几种方法

实现垂直水平居中的几种方法 <body> <div id="box1"> <div id="box2"></div> </div> </body> 一、已知需要居中盒子的宽高 1.需要居中的盒子绝对定位,设置top:50%;left:50%;margin-top:负高度的一般;margin-left:负宽度的一半。 #box1{ width: 300px; height:300px;

bobringtheboys的博客 410

endNote X9 增加 / 删除参考文献 文献编号自动更新

EndNote X9 插入参考文献常见问题总结。增删参考文献 文献编号自动更新

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 7497

正确的使用margin:0 auto与body{text- align:center;}实现元素居中

今天偶然看到一个css的网站 http://www.52css.com/ 感觉还不错   下面是 “正确的使用margin:0 auto与body{text- align:center;}实现元素居中” 的链接  http://www.52css.com/article.asp?id=505   方便自己以后查看...

iteye_343的博客 140

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

margin:0 auto 不能实现水平居中的原因解析

margin:0 auto 不能实现水平居中的原因解析 1. 需要居中的元素没有设置宽度 margin:0 auto 中auto的意思是根据元素左右宽度自适应,但是在块元素不设置宽度width的情况下,宽度width默认是100%,这样不能实现宽度的自适应,从而不能达到水平居中的效果。 2. 对行内块和行内元素设置auto margin:0 auto只对block块元素起作用,当给想要居中的inl...

langyixuan的博客 7740

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

块级元素以及行内元素居中显示

方法一:利用绝对定位实现元素垂直,水平居中显示:<html> <head> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; border: 0; } #container{

On The Way 4351

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

margin:0auto与body{text-align:center;}实现元素居中 两种方法的异同

<br /> text-align是用于设置或对象中文本的对齐方式。一般情况下我们设置文本对齐方式的时候需要用此属性进行设置,如:<br />  div { text-align: left; } 表示文本居左对齐。<br /><br />  margin是设置对象四边的外延边距,被称为外补丁或外边距。如:  div { margin: 20px 10px 30px 40px; } <br />  表示对象外边距,顶20px、右10px、下30px、左40px。<br /><br />  我们设置某个对象水

yaoyao159的专栏 806

CSS实战与技巧——41. 行级, 行内块级元素水平居中(text-align: center),块级元素水平居中( margin: 0 auto;))

box的50%宽度,意思就是相对于body元素的宽度50%,由于body元素没设置具体的宽高,所以body的宽高就等于游览器的宽度,所以box宽度就是游览器宽度的50%,会随游览器缩放,但始终保持居中。使之水平居中如这里的< img >行内块级元素,和< input >行内块级元素演示。那text-align: center能否保证块级元素水平居中呢?行级元素的水平居中:如何让一个行级元素在盒子中水平居中。/*行级,行内块级元素水平居中*//*行级元素水平居中*//*块级元素水平居中*/

weixin_63215361的博客 481

margin:0 auto 与 text-align:center 的区别

margin:0 auto 与 text-align:center 的区别 基本概念: 1.text-align: 属性规定元素中的文本的水平对齐方式;         该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式;        一般情况下设置文本对齐方式的时使用此属性。支持值 justify。   Example: div { text-ali

Eric_Tsai的专栏 699

margin auto;与text-align:center;的区别

margin auto:  是使自身在浏览器内居中,需要配合宽度使用:(只有自身有作用) text-align:center:  针对当前下所有的文本内容居中(是对里面的内容 例img 各种文本) 相同点:这两个在元素浮动(fl re ab fi)的情况下,是不能对元素起作用的当 position: absolute 时,元素会向父级递归寻找 position 属性不为 static

sky_sea_desert_me的专栏 762

text-align:center 和margin:0 auto的区别

基本概念: 1.text-align: 属性规定元素中的文本的水平对齐方式;   该属性通过指定行框与哪个点对齐,从而设置块级元素内文本水平对齐方式; 一般情况下设置文本对齐方式的时使用此属性。支持值 justify。Example: div { text-align: left; }  //文本居左对齐 注释:所有浏览器都支持 text-align 属性;任何的版本的 Internet E

zheng_cong的博客 9220

margin auto 实现居中,与text-align:center的区别

本文导读:一个元素在水平方向上所占的长度,由width ,padding ,和margin 决定。这些值中,只有width和margin-left,margin-right可以设为auto,text-align是用于设置或对象中文本的对齐方式。一般情况下我们设置文本对齐方式的时候需要用此属性进行设置。一、margin:0 auto;的意思上下边界为0,左右根据宽度自适应!这就是水平居中的意思,使用...

Roninwz的博客 3024

盒子几种居中的方法

水平居中 方法一:给div设置宽度后将margin的上下设为0,左右设为auto <div class="box"></div> body{ margin: 0; padding: 0; } .box{ width: 300px; height: 200px; background-color: aqua; margin: 0 auto; } 效果: 方法二:使小盒子

qq_44902858的博客 7843
上一篇: 判断移动用户访问来源
下一篇: mobile web app开发总结-getting start
spring21st
博客等级 码龄21年 450粉丝 407原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值