CSS——定位,z-index和透明度

CSS——定位,z-index和透明度

CSS 定位 (Position) 属性允许你对元素进行定位。

static 默认。位置设置为 static 的元素,它始终会处于页面流给予的位置(static 元素会忽略任何 top、bottom、left 或 right 声明)。
relative 位置被设置为 relative 的元素,可将其移至相对于其正常位置的地方,因此 “left:20” 会将元素移至元素正常位置左边 20 个像素的位置。
absolute 位置设置为 absolute 的元素,可定位于相对于包含它的元素的指定坐标。此元素的位置可通过 “left”、“top”、“right” 以及 “bottom” 属性来规定。
fixed 位置被设置为 fixed 的元素,可定位于相对于浏览器窗口的指定坐标。此元素的位置可通过 “left”、“top”、“right” 以及"bottom" 属性来规定。不论窗口滚动与否,元素都会留在那个位置。工作于 IE7(strict 模式)。

绝对定位(absolute)

1.父级元素没有定位的前提下,会相对于浏览器页面定位

2.假设父级元素存在定位,会根据父级元素进行指定偏移,不能超脱父级元素

  #father{
    
    
                    border:1px solid red;
                    padding:10;
                    position:relative;  /*先父级元素加一个定位*/
         }
#second{
    
    
                     border:1px solid blue;
                     position:absolute;
                     top:-30px;   /*相对于父级元素指定偏移*/
                     right:30px;
         }

相对定位(relative)

相对定位:相对于自己原来的位置进行指定的偏移(相对定位任然在标准文档流中,并且偏移之前的位置会被保留)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--相对定位:相对于自己原来的位置进行偏移 -->
    <style>
    body{
     
     
    padding:20px;
    }
        div{
     
     
         margin:10px;
         padding:5px;
         font-size:14px;
         line-height:25px;
         }
         #father{
     
     
                    border:1px solid red;
                    padding:10;
         }
          #first{
     
     
                     border:1px solid green;
                     position:relative;  /*相对定位*/
                     top:-20px; /*向上移20px*/
                     left:20px; /*向右移20px*/
         }
          #second{
     
     
                     border:1px solid blue;
         }
          #third{
     
     
                     border:1px solid yellow;
                     position:relative;  /*相对定位*/
                     bottom:-10px;  /*向下移10px*/
                     right:10px;  /*向左移10px*/
         }
    </style>
</head>
<body>

<div id="father">
    <div id="first">第一个盒子</div>
    <div id="second">第二个盒子</div>
    <div id="third">第三个盒子</div>
</div>
</body>
</html>

效果图
在这里插入图片描述

固定定位(fixed)

不论窗口滚动与否,元素都会留在那个位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{
     
     
          height:1000px;
        }
        div:nth-of-type(1){
     
     
           width:200px;
           height:200px;
           background:red;
           position:absolute;
           right:0;
           bottom:0;  /*位于浏览器的右下角*/

         }
         div:nth-of-type(2){
     
     
            width:100px;
            height:100px;
            background:yellow;
            position:fixed;
            right:0;
            bottom:0;
         }
    </style>
</head>
<body>
    <div>div1</div>
    <div>div2</div>
</body>
</html>

效果图

在这里插入图片描述

Z-INDEX

z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面

该属性设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显示区的轴。如果为正数,则离用户更近,为负数则表示离用户更远。

Z-index 仅能在定位元素上奏效(例如 position:absolute;)

<html>
<head>
<style type="text/css">
img.x
{
     
     
position:absolute;
left:0px;
top:0px;
z-index:1
}
</style>
</head>

<body>
<h1>这是一个标题</h1>
<img class="x" src="/i/eg_mouse.jpg" /> 
<p>默认的 z-index 是 0。Z-index -1 拥有更低的优先级。</p>
</body>

</html>

效果图
在这里插入图片描述

透明度(opacity)

设置 div 元素的不透明级别

规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)。

div{
    
    
opacity:0.5;
}
<!DOCTYPE html>
<html>
<head>
    <script>
function ChangeOpacity(x)
{
    
    
// 返回被选选项的文本
var opacity=x.options[x.selectedIndex].text;
var el=document.getElementById("p1");
if (el.style.opacity!==undefined)
  {
    
    el.style.opacity=opacity;}
else
  {
    
    alert("Your browser doesn't support this example!");}
}
</script>
</head>
<body>

<p id="p1">请从下面的例子中选择一个值,以改变此元素的不透明度。</p>
<select onchange="ChangeOpacity(this);" size="5">
    <option />0
    <option />0.2
    <option />0.5
    <option />0.8
    <option selected="selected" />1
</select>

</body>
</html>

效果图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wpc2018/article/details/110451743