zoukankan      html  css  js  c++  java
  • css position 属性

    position属性

    这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。

    JavaScript 语法: object.style.position="absolute"
    描述
    absolute

    生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

    元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

    fixed

    生成绝对定位的元素,相对于浏览器窗口进行定位。

    元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

    relative

    生成相对定位的元素,相对于其正常位置进行定位。

    因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

    static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
    inherit 规定应该从父元素继承 position 属性的值。

    文档流:
    将窗体自上而下分成一行行,并在每行中按从左到右的顺序排放元素,即为文档流。
    使元素脱离文档流的情况:浮动 绝对定位

    注意
    1、relative和static方式在最外层时是以<body>标签为定位远点的,
    而absolute方式在无父级是position非static定位时是以<html>作为原点的。
    <html>和<body>元素相差8px左右。

    2、如果使用absoulte或fixed定位的话,必须指定 left、right、 top、 bottom 属性中的至少一个,
    否则left/right/top/bottom属性会使用它们的默认值 auto ,
    这将导致对象遵从正常的HTML布局规则,在前一个对象之后立即被呈递,
    简单讲就是都变成relative,会占用文档空间

    3、使用static定位或无position定位的元素z-index属性是无效的。
    当你定义的CSS中有position属性值为absolute、relative或fixed,用z-index此取值方可生效。
    此属性参数值越大,则被层叠在最上面

    4、脱离正常文档流:position:absolute 和 position:fixed
    正常文档流:position:relative 和 position:static

    5、定位布局技巧:position:relative 与 position:absolute 结合使用:
    如果对元素设置了absolute后,其父级元素都没有设置position:relative,
    其会以body为父级。这样的话我们该元素定位到我们的目标位置将很困难,量像素麻烦。

    当子代设置了position:absolute后,其父级那个设置了position:relative,
    这个子代就会从该父级元素最左上方作为起点移动,并且遵循就近原则,即子代向上找父级,
    当找到第一个有父级设置了relative就以它最左上方作为起点。
    relative 与 absolute 结合的方式,对定位布局起到了便利,
    需要移动的距离也得到缩小,不用从body开始整个页面来量取像素,同时也方便管理,结构清晰。


    参考:
    CSS之使用display:inline-block来布局

    行内元素间距问题

    两个inline元素span或者两个inline-block元素div写成一行,无间隙。分开写成两行,则会有间隙

    去除间隙方法:

    对父元素添加,{font-size:0},即将字体大小设为0,那么那个空白符也变成0px,从而消除空隙

    现在这种方法已经可以兼容各种浏览器,以前chrome浏览器是不兼容的

    CSS元素分类
    参考:CSS元素分类

    常用的块状元素有:

    <div>、<p>、<h1>…<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
    1
    块级元素特点:
    1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行);
    2、元素的高度、宽度、行高以及顶和底边距都可设置。
    3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

    常用的内联元素有:

    <a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
    1
    内联元素特点:
    1、和其他元素都在一行上;
    2、元素的高度、宽度及顶部和底部边距不可设置;
    3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

    常用的内联块状元素有:

    <img>、<input>
    1
    inline-block 元素特点:
    1、和其他元素都在一行上;
    2、元素的高度、宽度、行高以及顶和底边距都可设置。

  • 相关阅读:
    hdu 4614 线段树 二分
    cf 1066d 思维 二分
    lca 最大生成树 逆向思维 2018 徐州赛区网络预赛j
    rmq学习
    hdu 5692 dfs序 线段树
    dfs序介绍
    poj 3321 dfs序 树状数组 前向星
    cf 1060d 思维贪心
    【PAT甲级】1126 Eulerian Path (25分)
    【PAT甲级】1125 Chain the Ropes (25分)
  • 原文地址:https://www.cnblogs.com/dabfranklin/p/9942865.html
Copyright © 2011-2022 走看看