CSS 嵌套DIV布局(position属性)

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外部样式表如何引入CSS样式

    以下是“HTML外部样式表如何引入CSS样式”的完整攻略: HTML外部样式表如何引入CSS样式 在 HTML 中,可以使用外部样式表来引入 CSS 样式。以下是一些常见的用法。 使用 <link> 标签 可以使用 <link> 标签来引入外部样式表,例如: <!DOCTYPE html> <html> &lt…

    css 2023年5月18日
    00
  • React18新增特性released的使用

    React18是React框架的一个重大版本升级,其中新增了一些特性,包括新的渲染器、并发模式、异步渲染、组件模型等。本文将介绍React18新增特性的使用。 1. 安装React18 要使用React18,需要将React升级到18版本。升级React的方式如下: 在项目中安装React18的alpha版本:npm install react@alpha …

    css 2023年6月10日
    00
  • Vite+React+TypeScript手撸TodoList的项目实践

    下面是针对“Vite+React+TypeScript手撸TodoList的项目实践”的详细攻略。 1.前置技能要求 在进行Vite+React+TypeScript手撸TodoList的项目实践前,需要掌握以下几个技能: 熟悉TypeScript语言和基本语法; 熟悉React框架及其常用的Api; 了解Vite构建工具的使用和基本原理。 2.环境搭建与初…

    css 2023年6月11日
    00
  • HTML+CSS+JS实现图片的瀑布流布局的示例代码

    以下是HTML+CSS+JS实现图片瀑布流布局的攻略: 什么是图片瀑布流布局 图片瀑布流布局是一种网页排版方式,通过不规则的排列方式,在多个列上交错放置图片,看起来像瀑布一样流动。瀑布流布局时常用于展示图片等内容的的网站,比如国内的花瓣网。 实现步骤 1.编写HTML结构 首先,需要在HTML文件中编写好图片布局的基础结构,即一组div元素,每个div元素包…

    css 2023年6月9日
    00
  • 利用SVG和CSS3来实现一个炫酷的边框动画

    利用SVG和CSS3来实现一个炫酷的边框动画的完整攻略如下: 1. 创建SVG路径 首先需要创建一个SVG路径作为边框动画的路径。可以使用Adobe Illustrator等矢量图形软件或者在线SVG绘制工具创建一个SVG路径,并且把该SVG路径保存成一个单独的SVG文件。在本例中,我们使用了以下的代码来创建一个SVG路径: <svg width=&q…

    css 2023年6月10日
    00
  • 浅谈CSS3 box-sizing 属性 有趣的盒模型

    CSS box-sizing属性用于确定设置元素大小的方式。在默认的CSS盒模型中,元素的宽度和高度仅包含内容部分,不包括边框(border)、内边距(padding)、外边距(margin)。而通过使用box-sizing,我们可以控制元素的大小的计算方式,使其包含某些或全部的边框、内边距和外边距。 1. box-sizing属性的取值 box-sizin…

    css 2023年6月10日
    00
  • vue学习笔记之Vue中css动画原理简单示例

    下面我将详细讲解“vue学习笔记之Vue中css动画原理简单示例”的完整攻略。 1. 什么是Vue中的CSS动画? Vue.js是一个MVVM框架,它与其他框架最大的不同之处就是Vue.js具有响应式设计、动画效果,因此实现动画效果也很简单,Vue提供了transition组件,其内部实现是基于JavaScript和CSS3的。在Vue中,只需在需要动画效果…

    css 2023年6月11日
    00
  • jquery实现滑动楼梯效果

    下面我将为您讲解 “jQuery实现滑动楼梯效果” 的攻略。 第一步:准备必要的HTML和CSS代码 首先,我们需要在HTML中创建一个包含多个楼层的页面,每个楼层都分别有一个独立的ID。之后我们还需要在CSS中对页面结构进行样式设置,其中需要注意设置每个楼层的高度、背景色等等。 示例代码如下: HTML <div id="floor1&qu…

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