纯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日

相关文章

  • 在vue中实现禁止屏幕滚动,禁止屏幕滑动

    在Vue中实现禁止屏幕滚动、禁止屏幕滑动可以通过以下两种方式进行: 1. CSS实现 使用CSS可以通过设置html和body元素的样式来实现禁止屏幕滚动: html, body { overflow: hidden; height: 100%; } 设置overflow: hidden可以禁止滚动条出现,而height: 100%则可以使内容填充整个可视区…

    css 2023年6月10日
    00
  • VUE-ElementUI 自定义Loading图操作

    下面是关于VUE-ElementUI 自定义Loading图操作的完整攻略及示例: 1. 什么是VUE-ElementUI自定义Loading图操作? 在web开发中,我们经常会遇到需要显示loading效果的场景,来提示用户当前正在加载中。VUE-ElementUI自带的Loading组件在满足一些基础需求的同时,也有不足的地方。因此,我们可以通过自定义L…

    css 2023年6月10日
    00
  • 详解Vue中CSS样式穿透问题

    详解Vue中CSS样式穿透问题 在Vue中,我们可以使用组件化开发,将页面拆分成各个独立的组件,这样可以使得代码更加简洁和易于维护。然而,在组件化开发中,由于组件之间相互独立,所以我们在编写CSS时可能会遇到一个问题,即:CSS样式穿透问题。下面将详细讲解这个问题,并提供两个示例说明。 什么是CSS样式穿透问题 所谓CSS样式穿透问题,是指在Vue中,父组件…

    css 2023年6月9日
    00
  • LayUI下拉树TreeSelect的使用解读

    在这里我会给大家讲解 “LayUI下拉树TreeSelect的使用解读”,并提供两个示例供大家参考。 1. 简介 LayUI 是一款基于 HTML5 和 CSS3 的前端 UI 框架,它本身提供了许多实用的组件,其中之一就是 TreeSelect,它是一种可以提供下拉树选择功能的组件。 通过 TreeSelect 组件,我们可以方便地实现下拉树结构的选择功能…

    css 2023年6月9日
    00
  • JS实现浏览器状态栏文字闪烁效果的方法

    JS实现浏览器状态栏文字闪烁效果需要用到两个方法:setInterval()和clearInterval()。其中,setInterval()方法用于周期性调用一个函数,clearInterval()方法则用于停止周期性调用。下面是详细步骤: 第一步:创建一个<script>标签 首先,在HTML代码中创建一个<script>标签,用…

    css 2023年6月10日
    00
  • 易语言修改在访问完网页后超级链接框中文本的颜色

    下面是详细的攻略: 步骤一:获取超链接框的对象 首先,我们需要通过易语言获取到超链接框的对象,可以使用以下代码: Declare Function GetDlgItem Lib "user32.dll" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long Dim hSuperLin…

    css 2023年6月9日
    00
  • HTML标记语言——表格标记

    HTML标记语言是一种用于创建网页的标记语言。而表格标记是HTML中最重要的一种标记之一,可以帮助我们在网页中创建表格。在本篇攻略中,我将会详细介绍HTML中表格标记的使用。 创建表格的基础结构 HTML中创建表格的基础结构如下所示: <table> <thead> <tr> <th>标题1</th&gt…

    css 2023年6月9日
    00
  • jQuery常见的选择器及用法介绍

    jQuery常见的选择器及用法介绍 jQuery是一个流行的JavaScript库,它广泛用于Web开发中。在jQuery中,选择器对于处理和操作DOM元素非常重要。以下是一些常见的jQuery选择器及其用法介绍。 基本选择器 ID选择器 使用ID选择器,可以根据元素的id属性值来选择元素。可以使用#符号来指定ID选择器。 $("#myDiv&qu…

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