zoukankan      html  css  js  c++  java
  • CSS 中定位的使用

    position
      relative 设置区块基准点为左上角(相对定位 以区块的左上角为基准点 仍然会暂居原来的位置) 

        a、不影响元素本身的特性;
        b、不使元素脱离文档流;
        c、如果没有定位偏移量,对元素本身没有任何影响;    

        定位元素位置控制
          top/right/bottom/left 定位元素偏移量。


      absolute 设置网页的为基准点左上角(绝对定位 以网页的左上角为基准点 不会暂居原来的位置)  

        a、使元素完全脱离文档流;
        b、使内嵌元素支持宽高;
        c、块属性标签内容撑开宽度(在没有设置宽的情况下);


      static 无设置

    如果有定位父级相对于定位父级发生偏移,没有定位父级相对于整个文档发生偏移;
    相对定位一般都是配合绝对定位元素使用;

    <title>无标题文档</title>
    <style>
    div{font-size:20px;}
    
    body{border:1px solid black;}
    
    .box1{width:300px;height:300px; background:red; position:relative;}
    .box2{width:200px;height:200px;background:blue; /* position:relative;*/}/*同级的也可以相对定位,你懂的*/
    .box3{width:100px;height:100px;background:green; position:absolute;right:0;bottom:0;}
    </style>
    </head>
    <body>
    <div class="box1">
        <div class="box2">
        <div class="box3"></div>
      </div>
    </div>
    </body>


    left auto 以基准点定位在左边 像素/百分比 定位在左边
    top auto 以基准点定位在上边 像素/百分比 定位在上边
    right auto 以基准点定位在右边 像素/百分比 定位在右边
    bottom auto 以基准点定位在下边 像素/百分比 定位在下边
    z-index auto 自动调整高度 数字 数字越大越往上层(定位元素 默认后者层级高于前者)

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5 <title>CSS 中定位的使用</title>
     6 <style type="text/css">
     7 div{
     8     font-size:36px;
     9     font-family:Arial, Helvetica, sans-serif;
    10 }
    11 .div1{
    12     color:#F00;
    13     position:absolute;
    14     top:20px;
    15     left:20px;
    16     z-index:3;
    17 }
    18 .div2{
    19     color:#0F0;
    20     position:absolute;
    21     top:22px;
    22     left:22px;
    23     z-index:2;
    24 }
    25 .div3{
    26     color:#00F;
    27     position:absolute;
    28     top:24px;
    29     left:24px;
    30     z-index:1;
    31 }
    32 </style>
    33 </head>
    34 <body>
    35 <div class="div1">名人名言,你得先是名人了那才是名言,别人的屁都是名屁!你能比吗?</div>
    36 <div class="div2">名人名言,你得先是名人了那才是名言,别人的屁都是名屁!你能比吗?</div>
    37 <div class="div3">名人名言,你得先是名人了那才是名言,别人的屁都是名屁!你能比吗?</div>
    38   
    39 </body>
    40 </html>
    <style>
    .parent{ border:2px solid red; padding:10px; width:300px; height:300px; margin:90px auto; position:relative;}
    .parent a{width:100px; height:100px; line-height:100px; text-align:center; background:red; position:absolute;color:#fff; font-weight:bold; text-decoration:none;}
    .link1{top:10px;left:10px;}
    .link2{top:10px;right:10px;}
    a.link3{top:110px;right:110px; background:blue;color:yellow;}/*这个选择符表示,拥有link3这个类的a标签,这样可以使这个标签覆盖掉上面被设置的有重复的样式*/
    .link4{left:10px;bottom:10px;}
    .link5{right:10px;bottom:10px;}
    
    
    </style>
    </head>
    <body>
    <div class="parent">
        <a href="#" class="link1">链接1</a>
        <a href="#" class="link2">链接2</a>
      <a href="#" class="link3">链接3</a>
      <a href="#" class="link4">链接4</a>
      <a href="#" class="link5">链接5</a>
    </div>
    </body>

    position:fixed; 固定定位

    与绝对定位的特性基本一致,差别是始终相对整个文档进行定位;对其他元素没有任何的影响

    问题:IE6不支持固定定位;

    <style>
    body{height:1500px;}
    
    .box1{width:500px;height:100px; background:red; position:absolute;right:0;bottom:0;}
    .box2{width:300px;height:300px;background:blue;position:fixed;right:0;bottom:0;}/*给内联元素加上定位后可以支持设置宽高*/
    </style>
    </head>
    <body>
    <div class="box1">position:absolute;绝对定位</div>
    <div style="200px; height:200px;border:5px solid black; position:relative; left:50px; top:80px;">
        <span class="box2">position:fixed; 固定定位</span><!--即使是div的子元素,给他加了固定定位后,完全脱离文档流,对其他元素无任何影响-->
    </div>
    </body>

    定位问题

    <style>
    #box1{width:500px; height:300px; background:blue; overflow:hidden;}/*当子元素的高度高于父元素的时候,没加overflow,子元素会溢出,*/
    #box2{width:300px; height:500px; background:yellow; position:relative;}
    /* 
    ie6 下父级的overflow:hidden;是包不住子级的相对定位的
     */
    </style>
    </head>
    
    <body>
    <div id="box1">
        <div id="box2"></div>
    </div>
    </body>
    <style>
    #box1{width:303px; height:303px;border:1px solid black; position:relative;}
    #box2{ width:50px; height:50px; background:#7c1; position:absolute;right:-1px;bottom:-1px;}
    /* 
    在 IE6 下定位元素的父级宽高都为奇数那么在 IE6 下定位元素的 right 和 bottom 都有1像素的偏差。
     */
    </style>
    </head>
    <body>
    <div id="box1">
        <div id="box2"></div>
    </div>
    </body>
  • 相关阅读:
    行转列,列转行
    聚合函数:sum,count,max,avg
    row_number() over partition by 分组聚合
    mysql优化
    hive中not in优化
    DBCP数据库连接池的简单使用
    Eclipse或MyEclipse中给第三方jar包添加源码步骤
    Java中CountDownLatch类的使用
    PLSQL Developer安装、配置、连接oracle数据库
    oracle11g卸载(win10)
  • 原文地址:https://www.cnblogs.com/LO-ME/p/3587909.html
Copyright © 2011-2022 走看看