我有兩個浮動菜單。向下滾動時,它們的位置設置爲fixed
,以便它們的top
和left
與窗口相關。我將他們的left
屬性設置爲0
,它們按預期粘在窗口上。但是,當我將它設置爲1
或任何更大的數字時,它們都會粘在它們的容器上。CSS固定屬性相對於基於左屬性的父/窗口
任何人有任何想法,爲什麼?
我有兩個浮動菜單。向下滾動時,它們的位置設置爲fixed
,以便它們的top
和left
與窗口相關。我將他們的left
屬性設置爲0
,它們按預期粘在窗口上。但是,當我將它設置爲1
或任何更大的數字時,它們都會粘在它們的容器上。CSS固定屬性相對於基於左屬性的父/窗口
任何人有任何想法,爲什麼?
您應該使用left:1px而不是left:0。如果你想設置任何屬性爲0,那麼你不需要提供單位(px,em等),但是如果你想將它設置爲任何非零值(這裏是1),你必須提到一個有效的單位。
.menuFloat{ z-index: 9999; position: fixed; left: 1px; top: 0; width: 100%;}
BBOY說,在他的評論中已經:
left: 1;
是一個無效的值,因爲它缺少單元(CSS中所有的長度值需要的單位,除非值爲0 )。
而這也爲您遇到此行爲的解釋:有了絕對的或固定的位置,一個元素保持在水平位置時,它會在正常的流動,如果它沒有被放置在所有的,如果你這樣做沒有給出left
的值(因此應用默認值auto
)。而且,由於您使用了無效的值,因此事實上根本沒有給出任何價值。
最終答案:
left: 0;
- 正確
left: 1;
- 不正確
left: 1px;
或left: 1%;
- 正確
爲值> 0時,應該指定一個單元。
很高興你解決了它
你需要做什麼?你不能只有'left:1';如果你有'left:0',你不需要指定一個單位,但是如果你的left> 0,你需要指定一個單位(px,%,ect)。 – bboy
這兩個鏈接在Chrome中都相同。 – maqjav
px!我覺得很無能。現在工作。謝謝! –