2013-04-17 74 views
0

我一直在爲我的大學工作以下網站:http://www.ecu.edu/english/tpc並開發了您目前在訪問時看到的佈局。它在桌面上的瀏覽器上看起來確實很好,但我在使用較小的屏幕(例如iPhone)時很難靈活。我試圖在幾個地方調整最大寬度設置,但我沒有運氣。具體問題是,頂部的兩個水平菜單(在HTML/CSS中是導航和導航2)和右側的內容(它們是側邊欄div中包含的DT)似乎具有固定大小,因此破壞了佈局在較小的屏幕上。任何建議都大爲讚賞,並全面CSS可以在這裏找到:http://jsfiddle.net/dSPdB/試圖修復與網站基於CSS的佈局問題

/* -------- Horizontal Navigation -------- */ 

#navigation { 
    float: left; 
    margin: .5em 0 0 0; 
    position: relative; 
    padding: .5em 0; 
    text-transform: uppercase; 
    background-color: #592a8a; 
} 

#navigation ul { 
    text-align: center; 
    padding: 0; 
    margin: 0; 
    list-style: none; 
} 

#navigation li { 
    font-family: 'Noto Sans', sans-serif; 
    display: inline; 
    list-style: none; 
    display: block; 
    float: left; 
    width: 11em; 
    max-height: 2em; 
    text-align: center; 
    padding: .5em 0 0 0; 
} 

#navigation li:first-child { 
    border-left: 0; 
} 

#navigation li:last-child { 
    border-right: 0; 
} 

#navigation li a { 
    color: #fff; 
    text-decoration: none; 
} 

#navigation li a:hover { 
    color: #fff; 
    border: 0; 
    text-decoration: underline; 
} 
/* --------------------------------------- */ 
/* -------- Navigation 2 -------- */ 

#navigation2 { 
    float: left; 
    margin: 0 0 0 0; 
    position: relative; 
    padding-left: 5.4em; 
    text-transform: uppercase; 
} 

#navigation2 ul { 
    text-align: center; 
    padding: 0; 
    margin: 0; 
    list-style: none; 
} 

#navigation2 li { 
    font-weight: bold; 
    display: inline; 
    list-style: none; 
    display: block; 
    float: left; 
    max-width: 3em; 
    max-height: 2em; 
    text-align: center; 
    padding: .5em 0 0 0; 
    margin-right: 1em; 
} 

#navigation2 li:first-child { 
    border-left: 0; 
} 

#navigation2 li:last-child { 
    margin-right: 0; 
} 

#navigation2 li a { 
    color: #fff; 
    text-decoration: none; 
} 

#navigation2 li a:hover { 
    color: #fff; 
    border: 0; 
    text-decoration: underline; 
} 
/* --------------------------------------- */ 

沒關係有關媒體查詢不工作,我沒有把它在CSS的底部(!咄)

+1

您是否考慮過用於較小屏幕尺寸的「媒體查詢」? – Steve

+0

其次,你有一個很好的自適應佈局,你需要使用媒體查詢,使它成爲一個良好的響應佈局。否則,你最終會做出太多的妥協,試圖讓一種風格來統治它們。 – Adrian

+0

您是否決定是否需要響應式佈局或固定佈局? – Wex

回答

1

我會建議你看看媒體查詢。

媒體查詢不是很難使用。你還有你的常規CSS和底部,添加:

@media only screen and (max-device-width: 480px) { 
    ... 
} 

花括號內,如果屏幕比480像素窄只需指定所需的更改。

@media only screen and (max-device-width: 480px) { 
    p { 
     color: red; 
    } 
} 

只要您的瀏覽器窗口縮小到480像素以上,就會將所有段落文本更改爲紅色。當然,這是一個有點愚蠢的例子。大多數時候你更關心某些元素的widthdisplay

在你的情況,你可能想針對這些情況下,導航的div,讓他們的行爲不同,即:

@media only screen and (max-device-width: 480px) { 
    #navigation2 { 
     float: none; 
     clear: both; 
    } 
} 

注意,上面可能不是你想要的。我只是做了一些虛擬變化,以顯示什麼是可能的。

+0

哦,這看起來很簡單 - 我的印象是我需要爲他們開發完全不同的樣式表。在這個網站的情況下,我基本上希望它以兩種方式之一顯示:最好所有的屏幕元素「縮小」以適應新的尺寸(查看www.ecu.edu以查看我的意思),或者只是按照它們在HTML中顯示的順序堆疊一切。我認爲第二種方法更容易。 –

+0

其實,因爲所有東西都與它的容器相關,我可以只使用媒體查詢來定位#container嗎?我會嘗試的。 –

+0

您可以在媒體查詢中定位您想要的任何內容。在它裏面,它就像一個普通的樣式表,不同之處在於它只適用於比480px更窄的瀏覽器窗口(在這個特定情況下) – Steve