position定位,CSS入门必备, 好像以后有个更厉害的flex!

定位

可通过position属性还设置元素的定位。

  ?可选值:static 默认值 没开启

?       relative 开启相对定位

?       absolute 开启绝对定位

?       fixed 开启固定定位(绝对定位的一种)

  开启定位后可通过left、right、top、bottom四个属性来设置元素偏移量。

  left:元素相对于其定位位置的左侧偏移量。(距离左边多少 ——— 向右移)

  通常只需选择其中两个就可对元素进行定位。(水平垂直方向各一个)

relative

  1、相对定位指相对于元素在文档流中原来的位置进行定位。

  2、开启相对定位的元素不会脱离文档流。故相对定位不会改变元素性质,

     即块还是块,内联还是内联。

  3、相对定位会使元素提升一个层级。(定位元素可以盖住文档流元素)

  4、开启相对定位而不设置偏移量时元素不会发生任何变化。

  .box1{

?     position:relative;

?     left:100px;

  }

absolution

  1、绝对定位是相对于离他最近的开启了定位的祖先元素进行定位的。

?     若所有的祖先元素都没有开启定位,则相对于浏览器的窗口。

    ? 故一般开启了子元素的绝对定位都会同时开启父元素的相对定位。

  2、开启绝对定位的元素会脱离文档流。故绝对定位会改变元素性质,

    内联会变成块,块的宽高默认都被内容撑开。

  3、绝对定位也会使元素提升一个层级。

  4、开启绝对定位而不设置偏移量时元素位置不变化。

fixed

与绝对定位不同的地方:

  1、固定定位永远相对于浏览器窗口进行定位。

  2、固定定位会固定在浏览器窗口的某个位置,不会随着滚动条而滚动。

    (广告、视频、回到顶部等)

  3、ie6不能兼容固定定位。

元素的层级

  1、若定位元素的层级一样,则下边的元素会盖住上边的元素。(代码后写的盖住先写的)

  2、可通过z-index属性来设置元素的层级。

?     为z-index指定一个正整数作为其值,该值将会作为当前元素的层级。

?       a、层级越高,越优先显示;

?       b、父元素的层级再高,也不会盖住子元素;

?       c、对于没有开启定位的元素不能使用z-index.

背景图片

  1、设置背景图片的重复方式:

?     可选值:repeat 默认值(双方向重复)

?         no-repeat 不重复(有多大就显示多大)

?         repeat-x 背景图片沿水平方向重复

?         repeat-y 背景图片沿垂直方向重复

  2、若背景图片大于元素默认显示图片的左上角,一样大就全部显示,小于就平铺。

  3、语法:background-image:url(相对路径);

  4、可同时给一个元素指定背景颜色和背景图片,则背景颜色将成为图片底色。

    (一般同时指定)

  5、背景图片默认贴着元素的左上角显示。

?     可通过background-position来调整背景图片在元素中的位置。

?       a、该属性可使用top、bottom、left、right、center中的两个值来指定。

?         如果只给一个值,则第二个之默认为center。

?         “九宫格“ top left 左上; center center 居中;

?       b、也可直接指定两个偏移量: 水平偏移量 垂直偏移量

  6、可通过background-attachment设置背景图片是否随页面一起滚动。

?     可选值:scroll 默认值 背景图片随窗口滚动

?         fixed 背景图片会固定在某一位置 (不随窗口滚动的图片一般设置给body)

  7、背景的简写属性

?    background属性可同时设置所有背景相关样式。

    无顺序、数量要求,不写的样式则使用默认值.

? 示例:background:#bfa url(img/1.jpg) center center no-repeat fixed;