網絡誌開始進行修改版面的工作, 但問題總會一個一個地發生, 這也是我預計之內的事, 所以就要一個一個地解決, 一個一個找尋解決的方法, 今次要解決的是要令Blogger 首頁文章圖片依比例地縮圖。
這個模版也有自動將文章第一張圖片設為首頁文章列表中的圖片, 但是不會依比例縮小/放大, 令圖片變形…網誌也變得醜陋…
先看看效果圖:
(修改後)
原本沒有縮圖功能的可以將以下js代碼先加入網誌模板,
如果你的模版已經有了縮圖功能, 只是想將縮圖跟比例縮少, 可以跳到第二部份藍色線位教學。
- 進入「版面配置」,選取「修改HTML」,把「展開小裝置範本」剔上
- 找到</head>
- 將以下貼到 </head> 之前
以下是控制縮圖的js代碼:
<script type='text/javascript'>var thumbnail_mode = "no-float" ;
summary_noimg = 430;
summary_img = 340;
img_thumb_height = 150;
img_thumb_width = 200;
</script>
<script type='text/javascript'>
//<![CDATA[
function removeHtmlTag(strx,chop){
if(strx.indexOf("<")!=-1)
{
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}
chop = (chop < strx.length-1) ? chop : strx.length-2;
while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++;
strx = strx.substring(0,chop-1);
return strx+'...';
}
function createSummaryAndThumb(pID){
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = summary_noimg;
if(img.length>=1) {
imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><img src="'+img[0].src+'" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></span>';
summ = summary_img;
}
var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>';
div.innerHTML = summary;
}
//]]>
</script>
然後再使用『Ctrl+F』找到了<data:post.body/>,取代成以下語法:
<b:if cond='data:blog.pageType != "item"'>
<div expr:id='"summary" + data:post.id'>
<data:post.body/>
</div>
<script type='text/javascript'>createSummaryAndThumb("summary<data:post.id/>");</script>
<span class='rmlink' style='float:right;padding-top:20px;'><a expr:href='data:post.url'> Read more </a></span>
</b:if>
<b:if cond='data:blog.pageType == "item"'><data:post.body/></b:if>
我這個模板有三個<data:post.body/>語法,而且已經有縮圖效果,我是尋找summary<data:post.id/>這句,再在適當位置加上Read More功能的。
如果頁面上多出了一個「Read more」在頁面,這代表原本的模板就已經有,請把這段刪除:
<span class='rmlink' style='float:right;padding-top:20px;'><a expr:href='data:post.url'> Read more</a></span>
如果你不想要『Read More』這個功能, 當然也可以把它刪除。
主要控制部分說明:
summary_noimg = 430;
沒有圖片的文章顯示在首頁的字元數。
例如: 430就代表,該篇文章若沒有圖片,則會在首頁顯示430字元的摘要, 如果你有用內建的繼續閱讀,則會以字數少的設定來顯示。
summary_img = 340;
有圖片的文章所顯示在首頁的字元數, 通常會比上面的值小, 因為圖片佔了部分空間。
img_thumb_height = 150;
縮圖的高度。
img_thumb_width = 200;
縮圖的寬度。
這個網誌我設定了以下的值:
summary_noimg = 350;
summary_img = 300;
img_thumb_height = 150; <--┬這個是跟模板上面的小圖乘1.5,
img_thumb_width = 255; <--┘方便我日後相關文章使用縮圖, 不會出現變形
=====以上已經完成了首頁加上縮圖的功能, 之後進入第二步=====
加入了縮圖的代碼後, 就要進入第二步驟, 就是令到縮圖不變形!~
由於以上語法,是會把圖片強制性縮小/放大至指定值, 所以圖片有機會出現變形, 除非你網誌的圖片全都是同一比例@@"
解決方法:
1. 如果想將圖片縮至指定的高度, 把以下語法刪除(上面語法藍色位置):
width="'+img_thumb_width+'px"
2. 如果想將圖片縮至指定的闊度, 把以下語法刪除(上面語法藍色位置):
height="'+img_thumb_height+'px"
最後建議刪掉width留下,讓圖片一樣高,避免做攸成圖片過高,令版面錯位。
資料參考:嘎吱窩
0 留言:
發佈留言