水平垂直居中的方法

这次给大家带来水平垂直中的方法,水平垂直居中的注意事项有哪些,下面就是实战案例,一起来看一下。

一、脱离文档流元素的居中

方法一:margin:auto法

CSS代码:

p{      width: 400px;      height: 400px;      position: relative;      border: 1px solid #465468; } img{      position: absolute;      margin: auto;      top: 0;      left: 0;      right: 0;      bottom: 0; }

登录后复制

HTML代码:

水平垂直居中的方法

登录后复制

效果图:

水平垂直居中的方法

当一个元素绝对定位时,它会根据第一个不是static定位的祖先元素定位,因此这里的img根据外层p定位。

方法二:负margin法

CSS代码:

.container{      width: 500px;      height: 400px;      border: 2px solid #379;      position: relative; } .inner{      width: 480px;      height: 380px;      background-color: #746;      position: absolute;      top: 50%;      left: 50%;      margin-top: -190px; /*height的一半*/      margin-left: -240px; /*width的一半*/ }

登录后复制

HTML代码:

登录后复制

效果图:

水平垂直居中的方法

这里,我们首先用top:50%和left:50%让inner的坐标原点(左上角)移动到container的中心,然后再利用负margin让它往左偏移自身宽的一半,再往上偏移自身高的一半,这样inner的中心点就跟container的中心点对齐了。

二、未脱离文档流元素的居中

方法一:table-cell法

CSS代码:

p{    width: 300px;    height: 300px;    border: 3px solid #555;    display: table-cell;    vertical-align: middle;    text-align: center;}img{    vertical-align: middle;}

登录后复制

HTML代码:

水平垂直居中的方法

登录后复制

效果图:

水平垂直居中的方法

p上面的vertical-align: middle是控制垂直方向上的居中的,而text-align: center是控制水平方向的。一个有趣的事实是,当我们去掉img的vertical-align: middle之后,是这样的: 

水平垂直居中的方法

还是居中啊!真的居中吗?

我们看到,图片往上移了一点,在垂直方向上已经不居中了。为什么?我也不知道为什么,如果你知道,可以告诉我吗?

但是如果我们把图片换成文字:

CSS代码:

p{    border: 3px solid #555;    width: 300px;    height: 200px;    display: table-cell;    vertical-align: middle;    text-align: center;}span{    vertical-align: middle;}

登录后复制

HTML代码:

这是放在span中的文字,通过外层p设置display: table-cell以及vertical-align: middle实现垂直居中。

登录后复制

效果图:

水平垂直居中的方法

当我们把span的vertical-align: middle去掉之后是这样的:

水平垂直居中的方法

看到差别没?文字的行间距更小了。如果你在自己电脑上运行代码就会发现,这几行字是向中间靠了,而并没有像图片一样往上移。我也在想办法搞清楚这是怎么回事,如果你知道原因,也烦请告诉我。

方法二:弹性盒子法

CSS代码:

.container{      width: 300px;      height: 200px;      border: 3px solid #546461;      display: -webkit-flex;      display: flex;      -webkit-align-items: center;      align-items: center;      -webkit-justify-content: center;      justify-content: center; } .inner{      border: 3px solid #458761;      padding: 20px; }

登录后复制

HTML代码:

我在容器中水平垂直居中

登录后复制

效果图:

水平垂直居中的方法

align-items控制垂直方向的居中,justify-content控制水平方向的居中。这是CSS3的新方法,浏览器支持情况如下:

水平垂直居中的方法

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

用transparent做出三角形

设定半透明的元素

以上就是水平垂直居中的方法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2898339.html

(0)
上一篇 2025年3月10日 23:33:35
下一篇 2025年3月6日 06:52:28

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 常用的颜色渐变方法总结

    这次给大家带来常用的颜色渐变方法总结,使颜色渐变方法的注意事项有哪些,下面就是实战案例,一起来看一下。 一、线性渐变:linear-gradient 语法:         = linear-gradient([ [ | to [, ]+)…

    2025年3月10日 编程技术
    200
  • css实现圆角三角形的方法

    本文主要和大家介绍了css实现带圆角三角型的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 前言 目标实现效果图如下: 实现 登录后复制 .triangle{  displ…

    2025年3月10日 编程技术
    200
  • 使用CSS给图片添加阴影的方法

    一般我们可以使用背景图的方式给图片添加阴影,但对于不固定尺寸的图片如何实现呢?我们可以采取“视觉欺骗大法”——定义渐变边框来实现: [code] on_all”> 一般我们可以使用背景图的方式给图片添加阴影,但对于不固定尺…

    编程技术 2025年3月10日
    200
  • 网页添加CSS样式表的四种方法

    网页添加css样式表的四种方法,大家可以根据需要选择自己喜欢的方式。 一、使用STYLE属性: 将STYLE属性直接加在个别的元件标签里。 例如: 这种用法的优点 是可灵巧应用样式於各标签中,但是缺点则是没有整篇文件的『统一性』。 二、使用…

    编程技术 2025年3月10日
    200
  • CSS布局自适应高度终极方法

    这篇文章主要介绍了关于CSS布局自适应高度终极方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我们排版的最终目的是让程序员能快速绑定,最终的真实数据能和效果图一样,但是我们经常在国字型页面里面碰到左右两列的高度不确定,这…

    编程技术 2025年3月10日
    200
  • 让div撑满整个屏幕的方法(css)

    这篇文章主要介绍了关于让div撑满整个屏幕的方法(css),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 在body只有一个p的时候,可以通过这样的方式让p撑满整个屏幕。 1.给p设置定位。   复习一下——   css中p…

    编程技术 2025年3月10日
    200
  • css如何清除下划线?css清除下划线有哪些方法

    css怎么清除下划线?css去除下划线方法有哪些?很多人可能还不知道怎么操作,下面我们来讲解一下。在css中,我们可以使用text-decoration属性来表示下划线和删除线等样式,首先我们要了解一下text-decoration属性。 …

    2025年3月10日
    200
  • 如何通过纯CSS实现图片的放大缩小效果的方法和技巧

    如何通过纯CSS实现图片的放大缩小效果的方法和技巧 在现代的网页设计中,图片的展示和处理是非常重要的一部分。而图片的放大缩小效果可以为网站的视觉呈现增添趣味和交互性。在这篇文章中,我们将介绍如何通过纯CSS实现图片的放大缩小效果,并提供具体…

    2025年3月10日
    200
  • 多个盒子一行排列的方法大全 响应式网页布局_html/css_WEB-ITnose

    如果想把多个块级元素放到同一行上,同学们首先想到的是浮动,但是就仅仅独此一种吗,答案不是的。这里小强老师总结了5种布局方式,希望对大家有所帮助。 第一种方法: 浮动法 这种方法是最简单的,也是我们初学css必须掌握的技能,就是把li浮动起来…

    编程技术 2025年3月9日
    200
  • 页面元素居中的几种方法_html/css_WEB-ITnose

    1前言 做页面布局时,经常会需要将一些页面元素居中显示。当然,你可以设定元素的top、left来使它居中,但是,当父容器的大小发生变化,你不得不修改子元素的top、left来使它保持居中;当用户的显示器分辨率与你的测试机不同,可能会导致界面…

    编程技术 2025年3月9日
    200

发表回复

登录后才能评论