1. 程式人生 > >關於使用position:fixed之後附加margin/padding的一些影響細節

關於使用position:fixed之後附加margin/padding的一些影響細節

① 未設定(left/right/top/bottom屬性)方位   ->    該元素表現為包裹性(與內聯元素的效果相似,目前來說margin和padding與內聯元素中的margin/padding的表現是一樣的)


              1.能由包裹的span撐開


              2.未設定方位時,margin無效,padding卻是有效的,且其百分比是按照body(父容器)來算的,若該節點設定了height和width,那麼就使用該節點的高寬


              3.若未設定高寬,那麼由子容器預設撐開  

              注:未設定方位時,預設看不見容器

此時是未設定方位的,純粹由子容器撐開了

.ex-tBoxAni__test span{
            color: #F7F7F7;
            font-size: 16px;
            line-height: 158px;
  }

②.設定方位   ->   進入格式化寬度(與block元素一樣,會填充父容器,block元素不會填充高度,而該設定能夠填充高度)


              1.所有的屬性都由父容器決定,都按照父容器座標系進行平移(若該層的祖先元素中有transform為非none的元素時,則會以該容器的座標系進行平移


              2.若對應方位全設定為0,那麼高容器填充body,可以給方位設定   px/em/百分比


              3.margin/padding按照父容器寬度進行百分比計算

              首先,body寬度  注意:該截圖是從火狐(firefox)瀏覽器截圖的,不同的瀏覽器效果可能會有所差別!!!!!!

              然後就是該容器寬度,其父容器就是body


             寬度為442px,兩側的margin為30%,由此計算可得1110*30%=333px,正好

             注:
                  若margin和padding之和超過了100%(margin:30%,padding:20%),那麼文字還會顯示,只不過只會顯示一部分
                  文字換行,且Line-height的效果會新增再換行的文字上,因為其形成了一個line-box
                  但是不會拉長body,原因?

firefox下:

 

           

chrome下:

兩者都不拉長body,且在全屏模式下,該框都未能顯示全部,猜想:

           該定位元素就與風箏一樣,雖然遠遠吊在空中,但地面仍然有線在控制(大神的警語)

在這兒該定位元素會受到父容器(地面)的限制,但是其吊在空中,因此影響不到父容器的佈局。

祝大家元旦快樂,o(∩_∩)o 哈哈

未完待續.......