css position

简介: DOCTYPE html> position pre{ font-size: 22px; } b{ font-size: 38px; font-family: "Microsoft Yahei"; } .
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>position</title>
    <style type="text/css">
    pre{ font-size: 22px; }
    b{ 
        font-size: 38px;
        font-family: "Microsoft Yahei";
     }
     .defaulttext{
         color: #666666;
         font-style: italic;
         font-weight: bold;

     }

    .sample0{
        border: 1px dashed red;
        width: 600px;
        height: 400px;
        position: relative;
        background-color: #1ffeee;
    }
    .sample0_child{
        position: absolute;
/*        width: 200px;
        height: 100px;*/
        background-color: red;

        bottom:  30px;
        right: 30px;
        top: 30px;
        left: 30px;
    }
    </style>
</head>
<body>
<pre>
    position--设置定位方式,设置参照物
    top,right,bottom,left,z-index--设置位置,必须配合position使用,如果一个元素不是一个定位元素,设置了这些属性是不起效果的。
    上面这两项结合就能定 一个元素在浏览器中的位置
</pre>
<br><br>
<pre><b>1. top/right/bottom/left 边缘与参照物边缘距离</b><span class="defaulttext">默认 top:0,left:0 </span>边缘和参照物边缘的位置, 可以是负值</pre><br>
<pre>如果不给子div设置宽高,只设置 position 和left top right bottom 这些边缘间距离值,那么子div 会被撑大</pre>
<div class="sample0">
    <div class="sample0_child">

    </div>
</div>


<br><br>

<style type="text/css">
.zparent{
    width: 700px;
    height: 380px;
    position: relative;
    border: 1px dashed #ff0000;
    font-family: "Microsoft Yahei";
    font-size: 40px;
}
.z01{
    text-align: center;
    line-height: 80px;
    position: absolute;
    background-color: blue;
    color: #ffffff;
    width: 300px;
    height: 150px;
    z-index: 1;
    top: 50px;
    left: 50px;
}
.z02{
    text-align: center;
    line-height: 80px;
    position: absolute;
    background-color: red;
    color: #ffffff;
    width: 300px;
    height: 150px;
    z-index: 2;
    top: 100px;
    left: 100px;
}
.z03{
    text-align: center;
    line-height: 150px;
    position: absolute;
    background-color: blue;
    color: #ffffff;
    width: 300px;
    height: 150px;
    z-index: 3;
    top: 150px;
    left: 150px;
}

</style>
<pre><b>2. z-index  Z轴</b><span class="defaulttext">    默认值 auto </span>适用于position 非static 元素</pre>
<div class="zparent">
    <div class="z01">z-index:1</div>
    <div class="z02">z-index:2</div>
    <div class="z03">z-index:3</div>
</div>
<br>

<pre>
默认情况下(没有设置z-index属性),元素会按照文档流中出现的顺序,晚出现的盖在早出现的上面。
是不是z-index值越大的越好呢?不一定,因为z-index还有一个『z-index 栈』的概念</pre><br>
<style type="text/css">
.zparent_{
    position: relative;
    width: 400px;
    height: 200px;
    border:1px dashed red;
    margin-top: 10px;
    font-family: "Microsoft Yahei";
    font-size: 22px;
}
.zchild_{
    position: absolute;
    text-align: center;
    width: 200px;
    height: 100px;
    color: #ffffff;
    font-size: 22px;
    line-height: 100px;
    font-family: "Microsoft Yahei";
}

.zparent_1{
    z-index: 1;
    background-color: #baadbd;
}
.zchild_1{
    background-color: red;
    bottom: 10px;
    left: 100px;
    z-index: 1;
    
}
.zchild_3{
    background-color: gray;
    bottom: 70px;
    left: 120px;
    z-index: 2;

}


.zparent_2{
    z-index: -1;
    background-color: orange;
}

.zchild_2{
    background-color: #188ddd;
    top:-50px;
    left: 150px;
    z-index: 1;
}

</style>

<div class="zparent_ zparent_1 ">z-index: 1;
    <div class="zchild_ zchild_1">z-index: 1</div>
    <div class="zchild_ zchild_3"> z-index: 2</div>
</div>

<div class="zparent_ zparent_2">z-index: -1;
    <div class="zchild_ zchild_2 ">z-index : 1</div>
</div>
<br><br>


<pre><b>3. position 位置</b>:position: <span class="defaulttext">static</span>|relative|absolute|fixed </pre>
<br>

<pre><b>3.1 position:relative </b> 
仍在文档流中。 
相对定位元素的参照物是 元素本身。
可以改变元素在 Z 轴上的层级。
</pre>
<style type="text/css">
.relative{
    height: 100px;
    width: 200px;
    color: #ffffff;
    font-size: 22px;
    font-family: "Microsoft Yahei";
}

.relative_0{
    background-color: orange;
    bottom: -50px;
    left: 50px;
    position: relative;

}
.relative_1{
    background-color: #ff7b2e;
    top: 40px;
    left: 40px;
    position: relative;

}
.relative_2{
    background-color: orange;
}
</style>
<div class="relative relative_0">position: relative;</div>
<div class="relative relative_1">position: relative;</div>
<div class="relative relative_2"></div>

<br><br>

<pre><b>3.2 position:absolute </b> 
默认宽度为内容宽度。
脱离文档流。
参照物为第一个定位祖先/根元素。
</pre>
<style type="text/css">
.absolute_container{
    width: 400px;
    margin: 200px;
    line-height: 2;
    border: 1px dashed #aaa;
    position: relative;
}
.absolute_sample{
    background-color: pink;
    position: absolute;
    bottom: 10px;
    left: -30px;
}


</style>
<div class="absolute_container">
    <div>绝对定位元素的前序元素</div>
    <div class="absolute_sample">sample</div>
    <div>绝对定位元素的后序元素</div>
</div>

<br><br>

<pre><b>3.3 position:fixed </b> 
默认宽度为内容宽度。
脱离文档流。
参照物为视窗。
<style type="text/css">
.fixed_container{
    width: 600px;
    height: 500px;
    border: 1px dashed red;
    color: #ffffff;

}
.fixsample{
    background-color: orange;
    width: 400px;
    height: 100px;

}
.fixed_sample{
    position: fixed;
    bottom: 10px;
    left: 0;
    background-color: red;
}
</style>

<div class="fixed_container">
    <div class="fixsample">fixed元素的前序元素</div>
    <div class="fixsample fixed_sample">
    position:fixed;    
    bottom: 10px;
    left: 0;
    </div>
    <div class="fixsample ">fixed元素的后序元素</div>
</div>
</body>
</html>
开始做,坚持做,重复做
相关文章
|
10月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
748 0
|
前端开发 UED 开发者
神秘的 CSS 属性 “position: sticky” 究竟有何魔力?带你彻底理解粘性定位的奇妙世界!
【8月更文挑战第20天】在前端开发中,CSS的粘性定位(`position: sticky`)是一种结合了相对与固定定位优点的强大工具。它使元素能在特定条件下相对定位,达到指定阈值时转为固定定位,非常适合制作“吸顶”导航栏等。例如,设置`position: sticky; top: 0;`能让导航栏滚动至顶部时固定显示。此特性不仅限于导航栏,还可应用于侧边栏等,增强布局灵活性与用户体验。尽管如此,仍需注意不同浏览器间的兼容性和可能的布局冲突。
810 0
|
前端开发 容器
CSS【详解】定位 position (静态定位 static -- 文档流排布 、相对定位 relative、绝对定位 absolute、固定定位 fixed、黏性定位 sticky)
CSS【详解】定位 position (静态定位 static -- 文档流排布 、相对定位 relative、绝对定位 absolute、固定定位 fixed、黏性定位 sticky)
1522 0
|
前端开发
css display position float 之间的关系
css display position float 之间的关系
221 0
|
前端开发 容器
|
前端开发
CSS position 小结
CSS position 小结
211 0
|
前端开发 Linux 程序员
「CSS」知识点笔记:position
「CSS」知识点笔记:position
294 0
「CSS」知识点笔记:position
|
前端开发 容器
【CSS】定位属性position使用详解(static、relative、fixed、absolute)
css定位属性position:static、relative、fixed、absolute详细介绍及使用样例。
654 0
|
前端开发
CSS Position(定位)
CSS 有三种基本的定位机制:普通流、浮动和绝对定位。 除非专门指定,否则所有框都在普通流中定位。 也就是说,普通流中的元素的位置由元素在 HTML 中的位置决定。
361 0
CSS Position(定位)
|
前端开发 开发者 容器
CSS position | 学习笔记
快速学习CSS position
CSS position | 学习笔记

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    589
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    447
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    452
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    297
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    575
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    748
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1468
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    325
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1185
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    527