CSS 嵌套DIV布局(position属性)

yizhihongxing

CSS 嵌套DIV布局是指在 HTML 页面中嵌套多个DIV块,使用CSS的position属性对这些块进行定位和布局,实现多个块按一定的规则排列的效果。下面是实现CSS嵌套DIV布局的完整攻略:

步骤一:HTML 结构准备

在HTML页面中嵌套多个DIV块,使用id或class属性封装起来,方便使用CSS对它们进行布局。

下面是一个HTML结构示例:

<body>
  <div id="container">
    <div class="box">1</div>
    <div class="box">2</div>
    <div class="box">3</div>
    <div class="box">4</div>
    <div class="box">5</div>
  </div>
</body>

步骤二:CSS 样式设置

设置容器DIV #container 和每个块DIV .box 的样式,绑定每个块的位置和尺寸。具体样式如下:

#container {
  position: relative;
}
.box {
  position: absolute;
  width: 100px;
  height: 100px;
}

步骤三:块的位置设置

使用CSS的top,right,bottom,left属性,设置容器DIV #container 内每个块的位置,使用百分比或像素单位。具体位置如下:

.box:nth-child(1) {
  top: 0; 
  left: 0;
  background: red;
}
.box:nth-child(2) {
  top: 0;
  right: 0;
  background: yellow;
}
.box:nth-child(3) {
  bottom: 0;
  left: 0;
  background: blue;
}
.box:nth-child(4) {
  bottom: 0;
  right: 0;
  background: green;
}
.box:nth-child(5) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: purple;
}

上面的样式设置中,第 5 个块是相对于 #container 容器垂直居中和水平居中的,使用了 transform 属性。

步骤四:完整的代码示例

<style>
  #container {
    position: relative;
  }
  .box {
    position: absolute;
    width: 100px;
    height: 100px;
  }
  .box:nth-child(1) {
    top: 0; 
    left: 0;
    background: red;
  }
  .box:nth-child(2) {
    top: 0;
    right: 0;
    background: yellow;
  }
  .box:nth-child(3) {
    bottom: 0;
    left: 0;
    background: blue;
  }
  .box:nth-child(4) {
    bottom: 0;
    right: 0;
    background: green;
  }
  .box:nth-child(5) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: purple;
  }
</style>

<body>
  <div id="container">
    <div class="box">1</div>
    <div class="box">2</div>
    <div class="box">3</div>
    <div class="box">4</div>
    <div class="box">5</div>
  </div>
</body>

示例1:实现三列等高布局

在同一行内显示三列等高的区块,每个区块高度根据内容自适应,不足一行可自动换行。可以使用以下代码实现:

<style>
  #container {
    display: flex;
    flex-wrap: wrap;
  }
  .col {
    width: 33.33%;
    padding: 10px;
    box-sizing: border-box;
  }
  .box {
    position: relative;
    height: 100%;
  }
  .box-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 80%;
    padding: 10px;
    box-sizing: border-box;
  }
  .box:nth-child(1) .box-inner {
    background: red;
  }
  .box:nth-child(2) .box-inner {
    background: yellow;
  }
  .box:nth-child(3) .box-inner {
    background: blue;
  }
</style>

<body>
  <div id="container">
    <div class="col">
      <div class="box">
        <div class="box-inner">box1</div>
      </div>
    </div>
    <div class="col">
      <div class="box">
        <div class="box-inner">box2</div>
      </div>
    </div>
    <div class="col">
      <div class="box">
        <div class="box-inner">box3</div>
      </div>
    </div>
  </div>
</body>

示例2:实现背景全屏,内容局中

在背景中添加一个包含内容的区块,除了显示在前端的内容,其余部分都被覆盖。利用绝对定位与覆盖,实现背景全屏,内容局中的效果。代码如下:

<style>
  html, body {
    height: 100%;
  }
  body {
    margin: 0;
    background: url(bg.jpg) no-repeat center center fixed;
    background-size: cover;
  }
  #container {
    position: relative;
    height: 100%;
  }
  .content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    padding: 30px;
    background: rgba(255, 255, 255, .8);
    border-radius: 10px;
  }
</style>

<body>
  <div id="container">
    <div class="content">
      <h1>Hello</h1>
      <p>这里是一段文本内容</p>
      <button>点击按钮</button>
    </div>
  </div>
</body>

以上是 CSS 嵌套DIV布局的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS 嵌套DIV布局(position属性) - Python技术站

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

相关文章

  • html超链接样式(四种不同状态)设置示例

    下面是“html超链接样式(四种不同状态)设置示例”的完整攻略。 一、认识超链接样式 超链接是项目建设中常用的功能之一,它能够让用户能够跳转到指定的网址或者位置。在设计网站时,要使得链接目标和周边信息区分明确,统一的链接样式显得尤为重要。 当用户与我们的网站进行交互时,超链接有以下状态: link:默认状态,指的是用户还未访问过该链接; visited:该状…

    css 2023年6月10日
    00
  • Vuex实现计数器以及列表展示效果

    下面是Vuex实现计数器以及列表展示效果的详细攻略。 1. 环境准备 首先,需要安装Vue.js和Vuex。可以使用Vue CLI来快速搭建一个Vue.js项目,并在其中添加Vuex。 2. 状态管理 Vuex是一个状态管理工具,用于在Vue.js中管理应用程序的所有组件的状态。简单来说,它是一个全局状态存储库,用于存储和管理应用程序的所有状态。 Vuex的…

    css 2023年6月10日
    00
  • CSS样式表渐进增强的应用

    CSS样式表的渐进增强(Progressive Enhancement)是一种设计网站的方法,它可以让网站在各种浏览器和设备上都具有基本的功能和信息,而不是仅仅在某些高级浏览器上才能完全呈现效果。下面是一些CSS样式表渐进增强的应用策略: 使用基础的CSS 使用基础的CSS样式来设置网站的基本样式,这样即使不支持CSS的旧浏览器也可以以基本的方式渲染页面。例…

    css 2023年6月9日
    00
  • 在React中写一个Animation组件为组件进入和离开加上动画/过度效果

    在React中实现动画效果,通常可以使用React动画库实现,其中比较流行的动画库有React Transition Group和React Spring等。其中React Transition Group提供了两种基本的过渡动画,分别是淡入淡出以及挂载和卸载时的滑动效果。下面我将介绍如何在React中使用React Transition Group实现组件…

    css 2023年6月10日
    00
  • 提升WordPress 打开速度全面解决方案

    下面是关于提升WordPress打开速度的全面解决方案: 一、优化图片 处理过大的图片:网站的主要内容通常由文章和图片构成,其中图片往往是占用网页资源最多的元素,过大的图片会导致网页加载缓慢。如果你使用的是WordPress官方编辑器,在上传图片时可以选择“中等”或“缩略图”选项,这将限制图片的宽度和高度,同时压缩图片。另外,你也可以使用一些图片优化插件,如…

    css 2023年6月10日
    00
  • 详解jQuery移动页面开发中的ui-grid网格布局使用

    详解jQuery移动页面开发中的ui-grid网格布局使用 什么是ui-grid网格布局? ui-grid是jQuery Mobile框架中提供的一种网格布局方式,用于将页面内容按照网格布局方式进行排列,通常用于移动设备的页面开发中。 如何使用ui-grid网格布局? 在HTML代码中定义ui-grid网格布局。 <div class="ui…

    css 2023年6月11日
    00
  • HTML速写之Emmet语法规则的实现

    针对“HTML速写之Emmet语法规则的实现”的完整攻略,可以参考以下步骤: 1. 简介 Emmet 是一种能够加快编写代码速度的语法规则,旨在用更少的字符输入更多的代码。Emmet 最初是作为基于文本编辑器的插件,但是目前已经成为主流编辑器和 IDE 的一部分,如 VS Code、Sublime Text 等。 2. 常用语法规则 Emmet 语法规则可以…

    css 2023年6月9日
    00
  • 多重CSS背景动画实现方法示例

    好的。首先需要说明的是,本攻略主要是讲解如何使用 CSS 实现多重背景动画效果。这需要一些 CSS 基础知识,包括 CSS3 动画、伪类、多重背景等。 一、多重背景 多重背景是 CSS3 中的一个新特性。通过 CSS3,可以在一个元素中设置多张背景图片,并可以为每个背景图片设置不同的属性值,比如位置、尺寸、重复方式等。 多重背景的语法如下: backgrou…

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