2017-05-08 80 views
0

我有一個shopify商店的簡單問題,我已經安裝了一個固定頁眉,並向pagecontainer中添加了頂部填充50px,這樣頭部將不會與主要內容重疊,現在移動設備上有50像素的空間,太空了。如果你能幫助我爲桌面和手機設置兩個頂級填充,我將非常感激。頁面容器填充等於精確高度頁眉

置頂頭:

header.site-header { 
    position: fixed; 
    z-index: 99999; 
    background-color: #fff; 
    width: 100%; 
    top: 0; 
    left: 0; 
    right: 0; 
    -webkit-box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.36); 
    -moz-box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.36); 
    box-shadow: 0px 1px 2px 0px rgba(50, 50, 50, 0.36); 
} 

頁容器(主要內容):

#PageContainer { 
    overflow: hidden; 
    padding-top: 50px; 
    height: 100%; 

如何設置pagecontainer的頂pading相等的確切高度的不管屏幕的分辨率是什麼?或者有一種方法可以爲每個分辨率設置不同的填充(可能是通過媒體查詢?)我剛剛開始學習這個東西3天前,但我做了很多谷歌搜索,可以學得非常快..我也找到了解決方案這個問題,但我不如何實現它:移動頭自己固定的包裝:

<div class="header.site-header"> 
    <div class="PageContainer is-moved-by-drawer"> 
     This is the fixed header content. 
    </div> 
</div> 

<div class="PageContainer is-moved-by-drawer"> 
    This is the page content. 
</div> 

太謝謝你了!

編輯:這不是我的html代碼!

+0

你的CSS和HTML沒有什麼共同之處 - 你在CSS中列出的類沒有用在HTML – Johannes

+0

這是我在論壇中找到的解決方案,它不是我的html代碼。 –

+0

看起來您需要CSS媒體查詢。您的標題最有可能具有固定的移動和桌面高度。使用媒體查詢根據屏幕尺寸匹配此值。 – fubar

回答

0

您想要做的就是使用CSS Media查詢,這將允許您爲不同設備大小定義不同的樣式,因此您可以定義桌面/筆記本電腦/平板電腦尺寸的#PageContainer樣式,並且可以定義手機的#PageContainer風格不同。

這些都是缺省引導媒體查詢斷點:

/* Custom, iPhone Retina */ 
@media only screen and (min-width : 320px) { 

} 

/* Extra Small Devices, Phones */ 
@media only screen and (min-width : 480px) { 

} 

/* Small Devices, Tablets */ 
@media only screen and (min-width : 768px) { 

} 

/* Medium Devices, Desktops */ 
@media only screen and (min-width : 992px) { 

} 

/* Large Devices, Wide Screens */ 
@media only screen and (min-width : 1200px) { 

} 

因此,對於你的應用程序,你需要做的是定義爲#PageContainer大型設備爲50像素填充,並在可能的填充20px的小型設備,在中型屏幕上甚至可能達到40px。因此,像這樣在你的CSS

#PageContainer { 
    overflow: hidden; 
    height: 100%; 
} 

/* Custom, iPhone Retina */ 
@media only screen and (min-width : 320px) { 
    #PageContainer { 
     padding-top: 20px; 
    } 
} 

/* Extra Small Devices, Phones */ 
@media only screen and (min-width : 480px) { 
    #PageContainer { 
     padding-top: 20px; 
    } 
} 

/* Small Devices, Tablets */ 
@media only screen and (min-width : 768px) { 
    #PageContainer { 
     padding-top: 30px; 
    } 
} 

/* Medium Devices, Desktops */ 
@media only screen and (min-width : 992px) { 
    #PageContainer { 
     padding-top: 50px; 
    } 
} 

/* Large Devices, Wide Screens */ 
@media only screen and (min-width : 1200px) { 
    #PageContainer { 
     padding-top: 50px; 
    } 
} 

你真的只需要最小和最大@media塊,但我已經包括了所有的人,所以你可以看到不同的斷點和實驗。

您可以定義核心樣式,無論首先在@media塊之外放置什麼樣的屏幕大小,這些屬性都是相同的,這樣您就不會不必要地重複自己,然後在@中的相同樣式中定義填充。媒體塊,並且瀏覽器將全局屬性與@media特定屬性組合爲當前屏幕大小以設置內容的樣式。

+0

@ stephen-r-smith非常感謝你,我非常感謝你的幫助,並花時間給我寫信,但是我找到了另一種解決方案。我想我會使用百分比,因爲它更容易。導航欄高度爲10%,頁面邊距爲10%。這種方式將成比例,永不重疊。 –

+0

這也起作用,這取決於你想在你的頁面元素上有多少控制。您還可以使用媒體斷點顯示/隱藏不同的類,以便您可以在大屏幕上使用帶有按鈕和文本的導航欄,並將其替換爲漢堡包圖標 - 小屏幕上的下拉菜單。 我會看看Bootstrap,特別是用於創建響應式佈局的網格佈局系統和@media斷點。長遠來看,我認爲你會非常欣賞框架提供的靈活性和易用性。 –

+0

@ stephen-r-smith現在我發現標題在桌面上佔用了太多的垂直空間作爲一個固定的元素,我只希望它是頂部的導航欄加滾動時的標誌標記,我知道我需要使用jQuery來改變外觀,難以實現嗎?再次感謝! –

相關問題