有網友問狗貓現在頁面上方在banner區塊裡面有一些按鈕以及貓的表情符號是怎麼做的?其實這跟之前舊版CSS下在自由欄位裡面做的↓
獨
立留言版&精華區目錄是一樣地語法,只是加上顯示位置的語法,讓那裡面的圖片連結顯示位置不在自由欄位中顯示,而是跳到banner的區塊上來排
列顯示。它用的語法主要是style='position:absolute; width:1010px; top:275px;
left:0px'; 其實這也是CSS語法,只是將它包在HTML中一併定義,好讓我們決定要顯示在那個地方!!
所以position:absolute; 這個是定義顯示位置為絕對位置!
width :1010px; 是定義寬度!
top: 275px, left:0px; 是定義顯示的x y座標(就是顯示位置)。
整體完整的語法如下↓
上面總共有三段
最近看到http://blog.xuite.net/tatt_tatt/summer,這個活動網站。看到它的檔頭區塊有些圖片按鈕,有網友問道怎麼做的,所以我也貼過來(貼到我自己的部落格裡面),然後跟大家討論一下怎麼做的!
這些圖片按鈕是貼在自由欄位中的!一般而言,貼這些圖片按鈕的HTML語法到自由欄位(自訂欄位)中,它會顯示在左邊側欄Left SideBar或是Right SideBar!
要怎麼將自由欄位的內容"跳脫"左右欄?跑到Banner檔頭區塊?其實這部份以前寫過教學:http://blog.xuite.net/jeanson61/xuite/4495005,透過CSS裡面的"位置"定義,去將要顯示的東東"位移"!所以看到這次的http://blog.xuite.net/tatt_tatt/summer夏日活動,當然也是這樣來弄的,只是他們有美化(美工啦),我是弄得很醜的按鈕。我看到它頁面上的Banner圖片是↓
然後壓在上面的按鈕是↓
我故意弄空白在圖片中間,讓大家知道它是分開的不同圖片。
然後看到它的程式碼是比我之前寫的複雜,它還做mouse over滑鼠移動過去變換圖片↓
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
然後重點是它語法中的:div id="menubar" style="z-index:50;border: 0px solid #000000; position: absolute; top: 258px; left:0px; width:163px;"
這部份就是在定義圖片的"位置",它是採絕對位址定位position :absolute;,然後位置在距上方258px(top: 258px),左邊0px( left:0px)。這個絕對位置的原點座標(0,0),並不一定是剛好位於版面的左上角!一般而言就是對於一個特定區塊的左上角,所以如果這些CSS語法(position: absolute; top: 258px; left:0px; width:163px)是貼在左欄,那麼原點它就是在左欄區塊的左上角;如果如果這些CSS語法(position: absolute; top: 258px; left:0px; width:163px)是貼在右欄,那麼原點它就是在右欄區塊的左上角。不過這是當左右欄是一個絕對區塊而言,這裡所謂的絕對區塊就是像在自定樣式CSS裡面的↓
/*左欄*/
#linksLeft{
position:absolute;
left:25px;
width: 210px;
margin-top: 0px;
}
/*右欄*/
#linksRight{
position:absolute;
right:25px;
width: 210px;
margin-top: 0px;
}
它都有一個位置的絕對定義(position:absolute;),所以它有它自己的原點!!
但是如果它是↓
/*左欄*/
#linksLeft{
float: left;
width: 200px;
padding-left: 0px;
}
/*右欄*/
#linksRight{
float: right;
width: 200px;
padding-right: 0px;
}
那麼左右欄區塊它們並非絕對的位置,是相對於Parent區塊的相對位置,所以其原點就是Parent區塊[/*定位框*/#container ]的左上角。其他資訊可以參考之前寫的文章:http://blog.xuite.net/jeanson61/xuite/14283354
當
然這個範例是比較炫、比較複雜的方式,因為圖片按鈕與背景圖片要放對位置,否則將會出現圖片歪斜的情形。我個人建議用另外一種簡單的做法,就是將按鈕跟背
景就都畫好在一張圖片上,然後用透明的圖片當作連結語法壓在圖片上面,這樣就不會需要將圖片對得非常正確整齊!這個做法比較像是http://blog.xuite.net/hitravel/fun/17876045,這個網頁的上方按鈕的作法,它的背景圖片↓
按鈕跟圖片是做在一起的,它的按鈕在自由欄位貼的是↓
......其他略過
它的圖片網址是http://c.blog.xuite.net/c/f/7/b/11732000/blog_4704/txt/17851115/13.gif,是一張透明圖片↓

因為是透明圖片,這樣就不會需要對得非常整齊,比較好製作。然後透過在自定樣式CSS裡面增加定義這些透明按鈕的位置↓
#menuButton1_1 { position:absolute; top:220px; left:10px;}
#menuButton1_2 { position:absolute; top:220px; left:120px;}
.....其他略
這些教學可能需要對HTML及CSS語法略有概念的人比較容易瞭解,初入門的網友,我想我並不期望大家看得懂,立即會用。所以雖然有人問,我也回答了,可是就真的要看個人是否可以瞭解箇中奧妙。