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

yizhihongxing

《详解定位与定位应用》是一本经典的前端技术书籍,其中包含了许多关于定位与定位应用的知识。本文主要讲解该书中的一个例子,即“纯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日

相关文章

  • JavaScript css3实现简单视频弹幕功能

    实现视频弹幕功能,需要掌握以下几个知识点: HTML5 video控件 CSS3实现弹幕样式 JavaScript控制弹幕内容及动画 以下是实现视频弹幕功能的完整攻略: 步骤一:HTML结构 首先创建一个HTML页面,引入视频文件及需要用到的CSS和JavaScript。HTML结构可以按照以下内容来写: <!DOCTYPE html> <…

    css 2023年6月10日
    00
  • jQuery实现Email邮箱地址自动补全功能代码

    首先,在jQuery中实现email地址自动补全功能,我们需要编写以下几个步骤: 确认需要用的jQuery插件:这里我们使用的是”jquery-ui”这个jquery插件,它内置了一个Autocomplete组件,能够非常方便地实现email地址自动补全功能。 引入”jquery-ui”插件:在head标签内的标签内引入jquery与jquery-ui的cd…

    css 2023年6月10日
    00
  • CSS3 实现发光边框特效

    我们来详细讲解一下“CSS3 实现发光边框特效”的完整攻略。 步骤一:首先定义元素 在实现发光边框特效之前,我们需要定义需要实现特效的元素,可以是一个链接、一张图片或是一个容器等等,这里以一个链接为例。 <a href="#" class="glow-border">Example Link</a&g…

    css 2023年6月10日
    00
  • 第六章之辅组类与响应式工具

    第六章之辅助类与响应式工具 一、辅助类 辅助类可以简单的理解为一组实用的CSS类,它们可以帮助快速实现常见的布局和样式需求,同时可以使代码更具可读性。Bootstrap提供了一系列的辅助类,这些辅助类可以在HTML标签中任意使用,可以简化页面的HTML结构,也可以提高CSS代码的复用性。 辅助类一般以 . 类名形式出现,例如 .d-none 表示隐藏元素、.…

    css 2023年6月10日
    00
  • Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)

    请参考以下攻略: Python+Selenium+PhantomJS实现网页模拟登录和截图功能 简介 PhantomJS是一个无界面的WebKit浏览器,支持各种Web标准,可以用于Web页面自动化测试、网络爬虫等。Python中的Selenium库支持PhantomJS驱动,可以通过编写Python脚本,实现自动打开网页、填写表单、模拟点击、截取网页等操作…

    css 2023年6月9日
    00
  • CSS linear-gradient属性案例详解

    以下是“CSS linear-gradient属性案例详解”的完整攻略: 什么是CSS linear-gradient属性? CSS linear-gradient属性用于创建一个线性渐变背景色。它可以指定渐变的起点和终点,以及每个颜色所处的位置和数量。可以使用CSS的渐变方式在Web页面中创建一些酷炫的效果。 如何使用CSS linear-gradient…

    css 2023年6月10日
    00
  • css -webkit-line-clamp WebKit的CSS扩展(WebKit是私有属性)

    -webkit-line-clamp 是一个WebKit私有属性,它允许我们通过将文本减少到指定的行数来限制文本的行数。这在需要控制文本的行数且希望文本不被截断的情况下非常有用。以下是如何使用 -webkit-line-clamp 的一些重要步骤,包括示例: 步骤一:设置容器的高度和 overflow 属性 要使用 -webkit-line-clamp,我们…

    css 2023年6月10日
    00
  • 基于jQuery实现以手风琴方式展开和折叠导航菜单

    实现手风琴方式展开和折叠导航菜单的基本思路是利用jQuery控制CSS属性,以此来控制导航菜单的展开与折叠。具体方法如下: 1. 确定HTML结构 首先需要在HTML中编写出具有手风琴效果的导航菜单的基本结构,一般情况下,导航菜单的HTML结构如下: <ul class="accordion-menu"> <li cla…

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