CSS定位

简介: CSS定位

定位:

position属性 说明
static 默认值,没有定位
relative 相对定位
absolute 绝对定位
fixed 固定定位


标准文档流


标准文档流是指页面上从上到下,从左到右,网页元素一个挨一个的简单的正常的布局方式。


一般在HTML元素分为两种:块级元素和行内元素。


块级元素:


块级元素是从上到下一行一行的排列,默认一个块级元素会占用一行,而跟在后面的元素会另起一行排列。

像div,p这些的元素属于块级元素。


行内元素:


行内元素是在一行中水平布置,从左到右的排列 。span,strong等属于行内元素


static定位


position:static


元素没有定位,以标准流方式显示

样例代码:


<!DOCTYPE html>
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <title>position属性</title>
  <style>
    div {
        width: 300px;
        margin:10px;
        padding:5px;
        font-size:12px;
        line-height:25px;
    }
    #father {
        width: 500px;
        margin: 50px auto;
        border:1px #666 solid;
        padding:10px;
    }
    #first {
        background-color:#FC9;
        border:1px #B55A00 dashed;
    }
    #second {
        background-color:#CCF;
        border:1px #0000A8 dashed;
    }
    #third {
        background-color:#C5DECC;
        border:1px #395E4F dashed;
    }
  </style>
  </head>
  <body>
  <div id="father">
    <div id="first">第一个盒子</div>
    <div id="second">第二个盒子</div>
    <div id="third">第三个盒子</div>
  </div>
  </body>
  </html>

效果截图:

1.png


相对定位


relative属性值


相对定位就是相对自身原来位置进行偏移


偏移设置:top、left、right、bottom。


可以用left来描述盒子向右移动

可以用right来描述盒子向左的移动

可以用top来描述盒子向下的移动

可以用bottom来描述 盒子的向上的移动

如果是负数就是相反的方向


例如:left:10px 就是距离左边10px(也就是往右移动10px)


相对定位的盒子,不脱离标准流,老家保留位置,其后的元素不能占用其原有位置。

相对定位的主要用途是作为其内部元素绝对定位时的参照标准,相对于“我”而言。


样例代码:


<!DOCTYPE html>
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <title>relative属性</title>
  <style>
    div {
        width: 300px;
        margin:10px;
        padding:5px;
        font-size:12px;
        line-height:25px;
    }
    #father {
        width: 500px;
        margin: 50px auto;
        border:1px #666 solid;
        padding:10px;
    }
    #first {
        background-color:#FC9;
        border:1px #B55A00 dashed;
        position:relative;
        top:10px;
        left:150px;
    }
    #second {
        background-color:#CCF;
        border:1px #0000A8 dashed;
    }
    #third {
        background-color:#C5DECC;
        border:1px #395E4F dashed;
    }
  </style>
  </head>
  <body>
  <div id="father">
    <div id="first">第一个盒子</div>
    <div id="second">第二个盒子</div>
    <div id="third">第三个盒子</div>
  </div>
  </body>
  </html>

效果截图:

1.png


绝对定位


absolute属性值

偏移设置: left、right、top、bottom。


使用了绝对定位的元素以它最近的一个“已经定位”的“==祖先元素” 为基准进行偏移。如果没有已经定位的祖先元素,那么会以浏览器窗口为基准进行定位。绝对定位的元素从标准文档流中脱离,其后的元素会占据其原有的位置。


样例代码1:


<!DOCTYPE html>
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <title>absolute属性</title>
  <style>
    div {
        width: 300px;
        margin:10px;
        padding:5px;
        font-size:12px;
        line-height:25px;
    }
    #father {
        width: 500px;
        margin: 50px auto;
        border:1px #666 solid;
        padding:10px;
    }
    #first {
        background-color:#FC9;
        border:1px #B55A00 dashed;
        position: absolute;
        top:10px;
        right: 10px;
    }
    #second {
        background-color:#CCF;
        border:1px #0000A8 dashed;
    }
    #third {
        background-color:#C5DECC;
        border:1px #395E4F dashed;
    }
  </style>
  </head>
  <body>
  <div id="father">
    <div id="first">第一个盒子</div>
    <div id="second">第二个盒子</div>
    <div id="third">第三个盒子</div>
  </div>
  </body>
  </html>

效果截图1:

1.png

样例代码2:


<!DOCTYPE html>
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <title>absolute属性</title>
  <style>
    div {
        width: 300px;
        margin:10px;
        padding:5px;
        font-size:12px;
        line-height:25px;
    }
    #father {
        width: 500px;
        margin: 50px auto;
        border:1px #666 solid;
        padding:10px;
        position: relative;
    }
    #first {
        background-color:#FC9;
        border:1px #B55A00 dashed;
        position: absolute;
        top:10px;
        right: 10px;
    }
    #second {
        background-color:#CCF;
        border:1px #0000A8 dashed;
    }
    #third {
        background-color:#C5DECC;
        border:1px #395E4F dashed;
    }
  </style>
  </head>
  <body>
  <div id="father">
    <div id="first">第一个盒子</div>
    <div id="second">第二个盒子</div>
    <div id="third">第三个盒子</div>
  </div>
  </body>
  </html>

效果截图2:

1.png


固定定位


固定定位,就是始终让一个元素固定在一个位置,不管怎么滚动页面,那个固定的元素也不会改变位置。


position: fixed;


fixed属性值

偏移设置: left、right、top、bottom。


样例代码:


<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <style>
      .d1 {
        position: fixed;
        width: 100px;
        height: 100px;
        left: 50%;
        background-color: #666666;
      }
    </style>
    <title></title>
  </head>
  <body>
    <div class="d1">这是个固定在中间位置的div块</div>
    <p>Keafmd</p>
    <p>这是一句话1</p>
    <p>这是一句话2</p>
    <p>这是一句话3</p>
    <p>这是一句话4</p>
    <p>这是一句话5</p>
    <p>这是一句话6</p>
    <p>这是一句话7</p>
    <p>这是一句话8</p>
    <p>这是一句话9</p>
    <p>这是一句话10</p>
    <p>这是一句话11</p>
    <p>这是一句话12</p>
    <p>这是一句话13</p>
    <p>这是一句话14</p>
    <p>这是一句话15</p>
    <p>这是一句话16</p>
    <p>这是一句话17</p>
    <p>这是一句话18</p>
    <p>这是一句话19</p>
    <p>这是一句话20</p>
  </body>
</html>

效果截图(动图):

1.gif



z-index属性


调整元素定位时重叠层的上下位置


z-index属性值:整数,默认值为0 设置了positon属性时,z-index属性可以设置各元素之间的重叠高低关系。

z-index值大的层位于其值小的层上方。

1.png



网页元素透明度


CSS设置元素透明度 opacity:x

x值为0~1,值越小越透明


例:opacity:0.4;


filter:alpha(opacity=x)

x值为0~100,值越小越透明


例:filter:alpha(opacity=40);


样例代码:


<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <style>
        .container{
            position: relative;
        }
        .container div{
            position: absolute;
        }
    </style>
    <title></title>
  </head>
  <body>
    <div class="container">
        <div style="background-color: #008000;z-index: 100;opacity: 0.4;">牛哄哄的柯南</div>
        <div style="background-color: #0000ff;left: 10px;top: 10px;z-index: 50">Keafmd</div>
        <div style="background-color: #ffff00;left: 20px;top: 20px;z-index: 10">一起加油</div>
    </div>
  </body>
</html>

效果截图:

1.png


圆角边框


通过设置 border-radius 属性(边框圆半径)

↓这样设置就可以让正方形的div框成为圆。


border-radius:50% ;


样例代码:


<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <style>
      .d1{
        height: 100px; 
        width: 100px;
        background-color: #6495ED;
        line-height:100px ;
        text-align: center;
        border-radius:50% ;
      }
    </style>
    <title></title>
  </head>
  <body>
      <div class="d1">Keafmd</div>
  </body>
</html>

效果截图:

1.png

相关文章
|
5月前
|
前端开发 容器
《CSS 简易速速上手小册》第2章:CSS 布局与定位(2024 最新版)
《CSS 简易速速上手小册》第2章:CSS 布局与定位(2024 最新版)
46 2
|
21天前
|
前端开发
|
2月前
|
前端开发 容器
最新CSS3定位元素
【8月更文挑战第28天】
20 5
|
2月前
|
前端开发
HTML+CSS基础知识(5)相对定位、绝对定位、固定定位
这篇文章介绍了HTML和CSS中的三种定位方式:相对定位、绝对定位和固定定位,并通过代码示例展示了它们如何影响元素在页面上的布局和位置。
HTML+CSS基础知识(5)相对定位、绝对定位、固定定位
|
2月前
|
前端开发 容器
css中使用定位实现吸顶效果
css中使用定位实现吸顶效果
40 2
|
2月前
|
前端开发 容器
解锁CSS定位奥秘,从迷茫到精通,让你的网页布局“稳如老狗”,引领前端新潮流!
【8月更文挑战第23天】本文深入探讨了Web前端开发中CSS定位的三大基石:相对定位、绝对定位与固定定位。通过具体示例,展示了各种定位方式的特点及应用场景。相对定位可在不影响布局的情况下微调元素位置;绝对定位使元素完全脱离文档流,适用于精确控制位置的需求;固定定位则确保元素始终固定于浏览器窗口特定位置,不受页面滚动影响。这些技巧对于实现复杂网页布局至关重要。
39 0
|
2月前
|
前端开发 UED 开发者
神秘的 CSS 属性 “position: sticky” 究竟有何魔力?带你彻底理解粘性定位的奇妙世界!
【8月更文挑战第20天】在前端开发中,CSS的粘性定位(`position: sticky`)是一种结合了相对与固定定位优点的强大工具。它使元素能在特定条件下相对定位,达到指定阈值时转为固定定位,非常适合制作“吸顶”导航栏等。例如,设置`position: sticky; top: 0;`能让导航栏滚动至顶部时固定显示。此特性不仅限于导航栏,还可应用于侧边栏等,增强布局灵活性与用户体验。尽管如此,仍需注意不同浏览器间的兼容性和可能的布局冲突。
49 0
|
3月前
|
前端开发
css实用技巧——给锚点定位添加偏移
css实用技巧——给锚点定位添加偏移
95 3
|
4月前
|
前端开发 开发者
CSS属性选择器:精确定位元素的利器
CSS属性选择器:精确定位元素的利器
|
4月前
|
前端开发 编译器
CSS定位(如果想知道CSS有关定位的知识点,那么只看这一篇就足够了!)
CSS定位(如果想知道CSS有关定位的知识点,那么只看这一篇就足够了!)