CSS中使⽤inline-block来进⾏居中的⽰例
迫切需要的⽅法:inline-block法居中。基本⽅法是使⽤ display: inline-block, vertical-align: middle样式和伪元素让内容块在容器中居中。我的实现⽤到了⼏个在其他地⽅见不到的新技巧解决了⼀些问
题。
  内容区声明的宽度不能⼤于容器的100% 减去0.25em的宽度。就像⼀段带有长⽂本的区域。不然,内容区域会被推到顶端,这就是使⽤:after伪类的原因。使⽤:before伪类则会让元素有100%的⼤
⼩!
如果内容块需要尽可能⼤地占⽤⽔平空间,可以为⼤容器加上max-width: 99%;样式,或者考虑浏览器和容器宽度的情况下使⽤max-width: calc(100% – 0.25em) 样式。
  这种⽅法和table-cell的⼤多数好处相同,不过最初我放弃了这个⽅法,因为它更像是hack。不管这⼀点的话,浏览器⽀持很不错,⽽且也被证实是很流⾏的⽅法。
  HTML:
XML/HTML Code复制内容到剪贴板
1. <div class="Center-Container is-Inline">
2.  <div class="Center-Block">
3.    <!-- CONTENT -->
4.  </div>
5. </div>
  CSS:
CSS Code复制内容到剪贴板
1. .Center-Container.is-Inline {
2.  text-align: center;
3.  overflow: <span id="7_nwp"><a mpid="7" target="_blank" href="cpro.baidu/cpro/ui/uijs.php?
adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=0&is_app=0&jk=2d6719abf210fdd5&k=auto&k0=auto&kdi0=0&luki=9&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=d5fd10f2ab1 <span >auto</span></a></span>;
4. }
5.
6. .Center-Container.is-Inline:after,
7. .is-Inline .Center-Block {
8.  display: inline-<span id="8_nwp"><a mpid="8" target="_blank" href="cpro.baidu/cpro/ui/uijs.php?
adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=0&is_app=0&jk=2d6719abf210fdd5&k=block&k0=block&kdi0=0&luki=7&n=10&p=baidu&q=06011078_cpr&rb=0&rs=1&seller_id=1&sid=d5fd10f2a <span >block</span></a></span>;
9.  vertical-align: middle;
10. }
11.
12. .Center-Container.is-Inline:after {
13.  content: '';
14.  height: 100%;
15.  margin-left: -0.25em; /* To offset spacing. May vary by font */
16. }
17.
18. .is-Inline .Center-Block {
19.  max-width: 99%; /* Prevents issues with long content causes the content block to be pushed to the top */
div中的div居中
20.  /* max-width: calc(100% - 0.25em) /* Only for IE9+ */
21. }
  好处:
内容⾼度可变
内容溢出则能⾃动撑开⽗元素⾼度
浏览器兼容性好,甚⾄可以调整⽀持IE7
  同时注意:
需要额外容器
依赖于margin-left: -0.25em的样式,做到⽔平居中,需要为不同的字体⼤⼩作调整
内容区声明的宽度不能⼤于容器的100% 减去0.25em的宽度

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。