css实现div水平、垂直居中兼容chrome、ie8

要实现div水平、垂直居中,可以使用以下3种方式:

1.使用flex布局

.container {
  display: flex;
  justify-content: center; /*水平居中*/
  align-items: center; /*垂直居中*/
}

这种方式是比较简单的方式,在现代浏览器中支持度较好,但在IE8中并不支持。

2.使用绝对定位和margin负值

.container {
  position: relative;
}
.box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

这种方式则是使用绝对定位和margin负值来实现的,在各浏览器中的兼容性都比较好。以上两种方法分别理解即可,下面让我们来看针对chrome和ie8的实现方式

3.针对chrome和ie8的实现方式

.container {
  position: relative;
}
.box {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -50px; /*.box的一半高度*/
  margin-left: -50px; /*.box的一半宽度*/
}
@media screen\0 { /*IE8及以下浏览器特殊样式,\0为hack写法*/
  .box {
    top: 50%;
    left: 50%;
    margin-top: -100px; /*.box的高度*/
    margin-left: -100px; /*.box的宽度*/
  }
}

以上为一种兼容IE8和chrome的方式,使用了@media screen\0的hack写法,使得样式只有在IE8及以下浏览器中生效。而其他浏览器则会忽略掉该hack写法,不会造成影响。

另外一种示例也是类似的,但是样式略有不同:

.container {
  position: relative;
}
.box {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
@media screen\0 { /*IE8及以下浏览器特殊样式,\0为hack写法*/
  .box {
    top: 50%;
    left: 50%;
    margin-top: -100px; /*.box的一半高度*/
    margin-left: -100px; /*.box的一半宽度*/
  }
}

以上方式使用了top、left、right、bottom属性来实现div的水平、垂直居中,并使用margin: auto来让div实现水平居中。同时也使用@media screen\0的hack写法来实现在IE8及以下浏览器中的兼容。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:css实现div水平、垂直居中兼容chrome、ie8 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法

    HTML5带来了许多新的标签,其中form标签也得到了增强。在HTML5中,form标签不仅仅是个容器,而且在处理表单的交互上,这个标签与其他的标签和JavaScript API一起,提供了一些有力的辅助。 1. 表单验证 HTML5的form标签支持更容易、更强大的表单验证。通过添加属性和值来控制表单验证行为。 必填属性 HTML5新增了required属…

    css 2023年6月10日
    00
  • css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局

    下面是详细的攻略。 首先,我们需要使用CSS3的border-radius属性来实现将正方形图片显示为圆形图片布局。具体步骤如下: HTML代码中插入一个<div>元素作为容器,并在其中插入一个<img>元素: “`html “2. 在CSS代码中,设置图片的样式为圆形,并将 `容器设置为透明: “`css .image-con…

    css 2023年6月10日
    00
  • Html5大屏数据可视化开发的实现

    我们来详细讲解一下 “HTML5大屏数据可视化开发的实现” 的完整攻略。 1. 介绍 随着数据可视化和大屏幕应用的日益普及,HTML5作为一种移动优先的技术解决方案开始受到人们的追捧。本文将详细讲解HTML5大屏数据可视化开发的实现,并给出两个示例说明。 2. 开发环境配置 2.1 安装node.js和npm node.js是一个开源、跨平台、高性能的Jav…

    css 2023年6月10日
    00
  • 针对浏览器隐藏CSS之独孤九剑

    首先, 针对浏览器隐藏CSS之独孤九剑,需要了解 CSS的三种隐藏方式: display:none; 元素被完全隐藏,并且不占用页面空间 visibility:hidden; 元素被隐藏,但仍占用页面空间 opacity:0; 元素被透明化,但仍占用页面空间 以下是对应的攻略: 隐藏方式一:display:none; 方法一:通过Chrome开发者工具修改 …

    css 2023年6月10日
    00
  • CSS3实现渐变背景兼容问题

    请先使用以下格式的标题划分答案的主要内容: 问题背景 兼容方案 统一兼容方案 使用autoprefixer工具实现 示例说明 示例一:纵向渐变兼容 示例二:角向渐变兼容 问题背景 CSS3引入了渐变这一新的属性,能够使得网页背景更为美观,同时也方便网页设计。然而,各浏览器对这一新属性的支持程度不同,因此会引起兼容问题,尤其是在老旧的浏览器中无法正常呈现渐变效…

    css 2023年6月9日
    00
  • 关于css设置层透明

    设置层透明可以使用CSS3中的opacity属性或RGBA颜色值,以下是详细的攻略: 使用opacity属性设置层透明 opacity的范围为0到1,0表示完全透明,1表示完全不透明。可以将opacity属性应用于想要设置透明度的HTML元素的样式中,如下示例: div { background-color: #000; opacity: 0.5; } 以上…

    css 2023年6月9日
    00
  • CSS3 @font-face属性使用指南

    下面将详细讲解“CSS3 @font-face属性使用指南”的完整攻略。 一、@font-face属性概述 @font-face是CSS3引入的一个用于设置字体的规则,它可以让网站使用自定义字体,而无需将字体上传到服务器。 @font-face的语法如下: @font-face { font-family: <family-name>; src:…

    css 2023年6月9日
    00
  • 详解CSS中postion和opacity及cursor的特性

    详解CSS中position、opacity及cursor的特性 position CSS中的position属性用于指定元素的定位方式。常用的取值有static、relative、absolute和fixed。其中,static是默认值,元素不存在定位(也就是正常流布局),不受top、right、bottom、left等属性的影响。relative与sta…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部