纯CSS定位的固定垂直居中浮动层代码,附经典解说 《详解定位与定位应用》

《详解定位与定位应用》是一本经典的前端技术书籍,其中包含了许多关于定位与定位应用的知识。本文主要讲解该书中的一个例子,即“纯CSS定位的固定垂直居中浮动层代码”。

这个浮动层代码主要通过CSS样式实现,具体实现方法如下:

HTML代码:

<div class="wrapper">
  <div class="box">
    <p>我是内容</p>
  </div>
</div>

CSS代码:

/* 布局 */
.wrapper {
  position: relative; /* 定位上下文 */
  height: 100vh; /* 根据实际情况设置高度 */
}
.box {
  position: absolute; /* 定位 */
  top: 50%; /* 距离上边界的距离为父容器高度的 50% */
  left: 50%; /* 距离左边界的距离为父容器宽度的 50% */
  transform: translate(-50%, -50%); /* 通过transform属性将元素向上、向左移动自身宽高的一半,达到垂直水平居中效果 */
  width: 200px; /* 根据实际情况设置宽度 */
  height: 200px; /* 根据实际情况设置高度 */
  background-color: #fff; /* 根据实际情况设置背景颜色 */
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* 根据实际情况设置阴影 */
}

/* 清除浮动 */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

这段代码主要利用了CSS中的定位和transform属性,通过将元素向上、向左移动自身宽高的一半的距离,实现了其在垂直和水平方向都居中的效果。其中,position属性用于指定元素的定位方式,transform属性用于指定元素的变形方式。

示例说明1:

假设我们要将一个div元素垂直、水平居中显示在网页中,我们可以将该元素放在一个具有固定高度的父容器中,然后采用上述代码实现居中效果。例如:

HTML代码:

<div class="wrap">
  <div class="center-box">
    <p>我是居中的内容</p>
  </div>
</div>

CSS代码:

.wrap {
  height: 600px;
}
.center-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
  height: 300px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

示例说明2:

假设我们要在网页中实现一个对话框的效果,该对话框需要位于屏幕中央、并且不随页面滚动而移动。我们可以采用上述代码实现该效果。例如:

HTML代码:

<div class="overlay">
  <div class="dialog">
    <p>我是对话框内容</p>
  </div>
</div>

CSS代码:

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
.dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 500px;
  height: 300px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

这段代码中,我们利用了CSS中的position: fixed属性将对话框固定在屏幕中央不动,并将其背景颜色设置为半透明的黑色。同时,对话框内的内容结构和样式与示例1中的方法基本相同,都是通过设置position: absolute、top: 50%、left: 50%和transform: translate(-50%, -50%)等样式实现居中效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯CSS定位的固定垂直居中浮动层代码,附经典解说 《详解定位与定位应用》 - Python技术站

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

相关文章

  • element-ui中如何给el-table的某一行或某一列加样式

    要给 element-ui 的表格 el-table 的某一行或某一列加样式,可以使用 element-ui 提供的插槽(slot)功能。在插槽中可以通过 v-bind:class or v-bind:style 的形式给该行或该列中的元素加上需要的样式。 以下是详细的步骤: 1.使用 el-table 提供的 slot-scope 属性,并定义一个名为 s…

    css 2023年6月10日
    00
  • layui实现数据表格点击搜索功能

    下面我就为你详细讲解 layui 实现数据表格点击搜索功能的完整攻略。 1. 组件准备 首先,我们需要在页面中引入 layui 的相关组件,包括 layui.css、layui.js 和以及所需的模块文件。具体操作如下: <!– 引入 layui.css –> <link rel="stylesheet" href=…

    css 2023年6月10日
    00
  • 你真的了解margin吗?你知道margin有什么特性吗?

    了解margin 1. 什么是margin? CSS中的margin是指元素边框之外的空间,它会在元素和其他元素之间创建空白区域。margin从元素框体的外边缘提供空间。margin可以有四个方向:top(上)、right(右)、bottom(下)和left(左)。 2. margin 特性 margin 可以为负数。 margin 可以重叠。 margin…

    css 2023年6月9日
    00
  • HTML5+CSS设置浮动却没有动反而在中间且错行的问题

    遇到“HTML5+CSS设置浮动却没有动反而在中间且错行的问题”这个问题时,一般情况下可能有以下几种原因: CSS中的宽度设置错误; 元素间的间距没有正确设置; CSS中的浮动设置错误。 接下来我们详细讲解如何排查和解决这些问题: 问题排查 问题一:CSS中的宽度设置错误 如果设置了元素的宽度,并且元素的总宽度(包含padding和border)大于了其父元…

    css 2023年6月9日
    00
  • 巧用 CSS3的webkit-box-reflect 倒影实现各类动效

    下面就为您详细讲解“巧用 CSS3的webkit-box-reflect 倒影实现各类动效”的完整攻略。 什么是CSS3的webkit-box-reflect CSS3的webkit-box-reflect是一种CSS3的属性,可以在盒子(box)下面添加一个倒影。它是Webkit浏览器的私有属性,只能在Webkit内核的浏览器中使用,比如Chrome和Sa…

    css 2023年6月11日
    00
  • css给span加float:right右浮动后内容换行下移

    如果在网页中将一个span元素添加float: right属性进行右浮动时,如果该span元素中的内容过长,可能会出现内容换行导致下方的内容也随之下移的问题。以下是针对该问题的完整攻略。 1. 添加样式设置宽度 首先可以将该span元素设置一个固定的width属性,比如width: 100px。这样做的目的是让span元素不再自适应宽度,而是固定一个宽度,从…

    css 2023年6月10日
    00
  • js实现3D旋转效果

    下面是“js实现3D旋转效果”的完整攻略: 1. 目标 我们的目标是通过JS实现一个3D旋转效果。 2. 准备工作 在开始之前,我们需要准备一些工作: HTML和CSS:首先要有一个HTML文件和一个CSS文件,用于创建画布和设置3D效果的样式。 JS库:我们需要引入three.js这个JS库,three.js是一个开源的3D实时引擎,具有高度的可定制性。其…

    css 2023年6月10日
    00
  • 深入理解Webpack 中路径的配置

    概述 Webpack 中的路径配置在模块打包和前端项目的开发中非常重要。任何一个前端工程师都需要了解路径配置的相关知识。路径配置通过使用 alias、resolve、module 和其他方式从根路径中解析出正确的模块路径。下面将具体介绍这些配置项的作用及使用方式。 Alias Alias 是 Webpack 的一个配置项,用于配置模块的别名。通过配置别名,可…

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