CSS(八):定位属性

一、position属性

1、relative(相对定位)

  • 相对它原来的位置,通过指定偏移,到达新的位置。
  • 扔在标准流中,它对父级盒子和相邻的盒子都没有任何影响。

看下面的例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>相对定位</title>
    <style type="text/css">
      .box1,.box2,.box3{
         width: 100px;
         height: 100px;
      }
      .box1{
        background-color: red;
      }
      .box2{
        background-color:blue;
      }
      .box3{
        background-color: yellow;
      }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</body>
</html>

效果:

然后分别给第一个和第二个盒子添加定位:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>相对定位</title>
    <style type="text/css">
      .box1,.box2,.box3{
         width: 100px;
         height: 100px;
      }
      .box1{
        background-color: red;
        position: relative;
        left: 100px;
      }
      .box2{
        background-color:blue;
        position: relative;
        left: 100px;
        top: 50px;
      }
      .box3{
        background-color: yellow;
      }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</body>
</html>

效果:

观察上面的截图会发现:第一个和第二个盒子分别相对于原来的位置进行了偏移,但是对父级盒子和相邻的盒子都没有影响。

2、absolute(绝对定位)

  • 相对已设定非static定位属性的父元素计算偏移量,脱离文档流。

看下面的例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>绝对定位</title>
    <style type="text/css">
      .box1,.box2,.box3{
         width: 100px;
         height: 100px;
      }
      .box1{
        background-color: red;
        position: relative;
        left: 100px;
      }
      .box2{
        background-color:blue;
        position: absolute;
        left: 100px;
        top: 50px;
      }
      .box3{
        background-color: yellow;
        width: 120px;
      }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</body>
</html>

效果:

观察上面的截图可以发现:absolute定位是脱离文档流的,是相对于父元素进行偏移。

3、fixed(相对浏览器固定定位,IE6不支持)

看下面的例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>fixed</title>
    <style type="text/css">
      .box1,.box2,.box3{
         width: 100px;
         height: 100px;
      }
      .box1{
        background-color: red;
        position: relative;
        left: 100px;
      }
      .box2{
        background-color:blue;
        position: absolute;
        left: 100px;
        top: 50px;
      }
      .box3{
        background-color: yellow;
        width: 120px;
        position: fixed;
        left: 100px;
        top: 200px;
      }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br /><br />
</body>
</html>

效果:

上下移动滚动条的时候你会发现,第三个盒子的位置不会随着滚动条的滚动而上下移动,相对于浏览器是固定的。

4、static(默认)

  • 偏移量设置
  • X轴(left、right属性)与Y轴(top、bottom属性)
  • 可取值:像素或百分比。

5、定位图解

6、Z-Index

Z-Index用来设置定位盒子的层级

  • 数字越大层级越高,越在上层。

例如:Z-Index:2;

注意:

  • 数字之后没有单位。
  • 数字可以设置为负值。

看下面的例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>绝对定位</title>
    <style type="text/css">
      .box1,.box2,.box3{
         width: 100px;
         height: 100px;
      }
      .box1{
        background-color: red;
        position: relative;
        left: 100px;
      }
      .box2{
        background-color:blue;
        position: absolute;
        left: 100px;
        top: 50px;
      }
      .box3{
        background-color: yellow;
        width: 120px;
      }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</body>
</html>

效果:

现在给box1添加层级:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>绝对定位</title>
    <style type="text/css">
      .box1,.box2,.box3{
         width: 100px;
         height: 100px;
      }
      .box1{
        background-color: red;
        position: relative;
        left: 100px;
        z-index: 1;
      }
      .box2{
        background-color:blue;
        position: absolute;
        left: 100px;
        top: 50px;
      }
      .box3{
        background-color: yellow;
        width: 120px;
      }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</body>
</html>

效果:

这时box1就会在box2上面。

也可以给box2添加层级:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>绝对定位</title>
    <style type="text/css">
      .box1,.box2,.box3{
         width: 100px;
         height: 100px;
      }
      .box1{
        background-color: red;
        position: relative;
        left: 100px;
        /* z-index: 1; 添加层级 */
      }
      .box2{
        background-color:blue;
        position: absolute;
        left: 100px;
        top: 50px;
        z-index: -2;/*添加负数的层级*/
      }
      .box3{
        background-color: yellow;
        width: 120px;
      }
    </style>
</head>
<body>
    <div class="box"></div>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</body>
</html>

效果:

实例:

实现网页横幅的效果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>定位基本应用</title>
    <style type="text/css">
      #adverImg{
          width: 426px;
          height: 130px;/*和图片的宽度和高度一致*/
          position: relative;/*父元素添加相对定位*/
          border: 1px solid red;
      }
      #number{
          position: absolute;
          right: 5px;
          bottom: -10px;
      }
      /*li标签设置样式,使用后代选择器*/
      #number li{
          list-style: none;/*设置li标签样式:不显示前面的圆点*/
          float: left; /*设置浮动:使li标签在一行显示*/
          width: 20px;
          height: 20px;
          border: 1px solid #666666;/*设置边框*/
          margin-left: 5px;/*设置向左的外边距,使每个li标签之间有空格*/
          text-align: center;/*设置文字水平方向居中*/
          line-height: 20px;/*设置文字垂直方向居中*/
          /* color: white; */
          cursor: pointer;/*设置鼠标移动到li标签时显示小手的形状*/
          background-color: white;
      }
    </style>
</head>
<body>
    <div id="adverImg">
        <img src="images/adver-01.jpg" alt="商品促销" />
        <ul id="number">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
        </ul>
    </div>
</body>
</html>

效果:

原文地址:https://www.cnblogs.com/dotnet261010/p/9563324.html

时间: 2024-07-31 22:16:42

CSS(八):定位属性的相关文章

关于css的定位属性

关于css的定位属性 一.什么是定位 css中的定位属性为position,它规定元素的定位类型,选择不同的参照物和定位方式.分为五种:默认 绝对 相对 固定 黏性 二.属性值逐一描述 1.默认属性值 position:static; . 不特别设置的情况下,每个元素默认的属性值 . 不会识别left right top bottom指定坐标 .不能通过z-index进行层次分级 2.绝对定位 position:absolute; . 通过 left right top bottom 指定坐标,

CSS的定位属性

本文主要讲一些关于CSS布局的方法,在此之前,我看到了不少关于布局方面的好文章,也收到了非常多的启发,所以写此文章,将一些想法给记录下来. 说到布局,大多数人肯定会想到的几个常用的属性:position.float.flex等.本文主要讲述这几个属性的使用方法以及分栏布局的实现. 本文的结构如下: HTML的布局要点(盒模型.普通流) positon属性 float属性 HTML的布局要点: 对position.float等属性熟练使用的话,那么HTML的基本布局特点是要了如指掌的.HTML的基

CSS Position 定位属性

1. 介绍 1.1 说明 Position 属性:规定元素的定位类型.即元素脱离文档流的布局,在页面的任意位置显示. 1.2 主要的值 ①absolute :绝对定位:脱离文档流的布局,遗留下来的空间由后面的元素填充.定位的起始位置为最近的父元素(postion不为static),否则为Body文档本身. ②relative :相对定位:不脱离文档流的布局,只改变自身的位置,在文档流原先的位置遗留空白区域.定位的起始位置为此元素原先在文档流的位置. ③fixed :固定定位:类似于absolut

css之定位属性

定位标签:position包含的属性:relative(相对)与 absolute(绝对)1.position:relative:如果对一个元素进行相对定位,首先它将出现在它所在的位置上. 然后通过设置垂直或水平位置,让这个元素"相对于"它的原始起点进行移动. (再一点,相对定位时,无论是否进行移动,元素仍然占据原来的空间.因此,移动元素会导致它覆盖其他框) 例如:.mybox{ position:relative; left:20px; top:20px;}效果就是使这个层向下和向左

前端学习(14)~css学习(八):定位属性

CSS的定位属性有三种,分别是绝对定位.相对定位.固定定位. position: absolute; <!-- 绝对定位 --> position: relative; <!-- 相对定位 --> position: fixed; <!-- 固定定位 --> 相对定位 相对定位:让元素相对于自己原来的位置,进行位置调整(可用于盒子的位置微调). 格式: position: relative; left: 50px; top: 50px; 相对定位的举例: <!do

css中的定位属性position

同样的也是上课的时候发现学生难以理解的一些问题拿出来记录一下,希望帮助初学者. 在css中定位属性position的运用在页面中是很常用的,特别是一些结合js来实现的一些特效经常会用到定位属性,比如鼠标滑过显示被隐藏的盒子, banner的切换,还有之前写的jquery实现京东商品分类导航的类似这样的布局也是要结合定位属性来实现,但是上一次着重只写了jquery. 那么这次我想将定位属性的运用拿来说一下. 定位属性position常用的取值:relative/absolute/fixed;一般配

css定位属性的运用

position定位属性,检索或设置对象的定位方式 CSS的定位属性有分为静态定位.绝对定位.相对定位.固定定位.黏性定位. position:static;                 <!-- 静态定位 --> position:absolute;            <!-- 绝对定位 --> position:relative;              <!-- 相对定位 --> position:fixed;                  <

CSS 详细解读定位属性 position 以及参数

一直对这个属性不懂,终于找到一个地址,看懂了说明.原地址https://blog.csdn.net/fen584521/article/details/52123368 position 定位属性,是CSS中非常重要的属性.除了文档流布局,就是定位布局了. 其参数主要有以下: absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位. 元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定. fixed 生成绝对定位的

深入理解css中的定位属性:position

深入理解css中的定位属性:position 在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共有四种不同的定位方法,分别是static.fixed.relative.absolute. 第一部分:static static定位是HTML元素的默认值,即没有定位,元素出现在正常的流中,因此,这种定位就不会收到top,bottom,left,right的影响. 如html代码如下: <div class=&qu