嘻多瞇圖像傳達

2014/10/16

依照viewport的寬度顯示內容&支援CSSOM媒體詢問功能


viewport寬度小於400px大於401時的畫面

javascript寫法

<meta name="viewport" content="width=device-width, maximum-scale=1">


<script src="matchMedia.js"></script> 
/*使用matchMedia.js程式庫,讓瀏覽器支援CSSOM媒體詢問功能 (IE8之前不適用)*/

<script>

window.addEventListener('load', mqfunc);
 /*事件監聽器window.addEventListener('事件', 開啟); */

window.addEventListener('resize', mqfunc);
 /*在viewport 時觸發'resize'事件, 執行mqfunc函數 */

 function mqfunc() {
if (window.matchMedia("(max-width:400px)").matches) {
document.getElementById("text").innerHTML = "小於400px";
} else {
document.getElementById("text").innerHTML = "大於401px";
  }
}
</script>


<body>
<div id="text">無法執行SSOM功能</div>
</body>

jQuery寫法

<meta name="viewport" content="width=device-width, maximum-scale=1">

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>

<script src="matchMedia.js"></script> 


<script>
$(window).bind('load resize',  function() {
if (window.matchMedia("(max-width:400px)").matches) {
$("#text").html("小於400px");
} else {
$("#text").html("401px以上");
}
});
</script>

<body>
<div id="text">無法執行CSSOM功能</div>
</body>



viewport寬度(小於400px),(401px~800px之間),(大於800px)三種條件的畫面

javascript寫法

<meta name="viewport" content="width=device-width, maximum-scale=1">

<script src="matchMedia.js"></script> 
<script>
window.addEventListener('load', mqfunc); 

window.addEventListener('resize', mqfunc);

 function mqfunc() {
if (window.matchMedia("(max-width:400px)").matches) {
document.getElementById("text").innerHTML = "小於400px";
} else if (window.matchMedia("(min-width:401px) and (max-width:800px)").matches) {
document.getElementById("text").innerHTML = "在401~800px之間";
} else {
document.getElementById("text").innerHTML = "大於801px";
}
}
</script>


<body>
<div id="text">無法執行CSSOM功能</div>
</body>


jQuery寫法

<meta name="viewport" content="width=device-width, maximum-scale=1">

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>

<script src="matchMedia.js"></script> 
<script>
$(window).bind('load resize',  function() {
if (window.matchMedia("(max-width:400px)").matches) {
$("#text").html("小於400px");
} else if (window.matchMedia("(min-width:401px) and (max-width:800px)").matches) {
$("#text").html("在401~800px之間");
} else {
$("#text").html("801px以上");
}
});
</script>


<body>
<div id="text">無法執行CSSOM功能<</div>
</body>

註:
使用matchMedia.js程式庫先至以下網址下載matchMedia.js檔再匯入.js的連結
https://github.com/paulirish/matchMedia.js/



參考資料:HTML5+CSS智慧型手機專用網站設計

判別螢幕方向的&依照density切換顯示內容

orientation判別螢幕方向

@media only screen and(orientation:portrait){...........}
垂直
@media only screen and(orientation: landscape){...........}
水平

device-pixel-ratio判別density

在html寫入

<body>
<div id="d075">density為0.75時螢幕顯示</div>
<div id="d1">density為1時螢幕顯示</div>
<div id="d15">density為1.5時螢幕顯示</div>
<div id="d2">density為2時螢幕顯示</div>
</body>



在css寫入

<style>
div {display: none;}
@media only screen and (-webkit-device-pixel-ratio: 0.75)
{ #d075 {display: block;} }
@media only screen and (-webkit-device-pixel-ratio: 1)
{ #d1 {display: block;} }
@media only screen and (-webkit-device-pixel-ratio: 1.5)
{ #d15 {display: block;} }
@media only screen and (-webkit-device-pixel-ratio: 2)
{ #d2 {display: block;} }
</style>


Firefox和Opear 對device-pixel-ratio判別density的寫法

<style>
div {display: none;}

@media only screen and (-webkit-mindevice-pixel-ratio: 0.75),
only screen and (min--moz-device-pixel-ratio: 0.75),
only screen and (-o-min-device-pixel-ratio: 3/4)
{ #d2, #d15, #d1, #d075 {display: none;}
 #d075 {display: block;} }

@media only screen and (-webkit-min-device-pixel-ratio: 1),
only screen and (min--moz-device-pixel-ratio: 1),
only screen and (-o-min-device-pixel-ratio: 1/1)
{ #d2, #d15, #d1, #d075 {display: none;}
 #d1 {display: block;} }

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2)
  { #d2, #d15, #d1, #d075 {display: none;}
 #d15 {display: block;} }

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min--moz-device-pixel-ratio: 2),
only screen and (-o-min-device-pixel-ratio: 2/1)
{ #d2, #d15, #d1, #d075 {display: none;}
 #d2 {display: block;} }
</style>


<body>
<div id="d075">density為0.75時螢幕顯示</div>
<div id="d1">density為1時螢幕顯示</div>
<div id="d15">density為1.5時螢幕顯示</div>
<div id="d2">density為2時螢幕顯示</div>
</body>


參考資料:HTML5+CSS智慧型手機專用網站設計

CSS3寫媒體詢問功能的設定方法

隨著viewport寬度套用樣式表的設定方法

[方法一]

從HTML匯入外部樣式表單的設定

<link rel="stylesheet"    href="外部樣式css檔" media="only 媒體類型and (特性)">


例如:
HTML的head寫入

<head>
<meta name="viewport" content="width=device-width">
<!--   基於density設定的解析度,設定viewport寬度    -->

<link rel="stylesheet" href="style-l.css">
<!--  基套用樣式表一   -->

<link rel="stylesheet" href="style-m.css" media="only screen and (min-width:600px) and (max-width:980px)">
<!--  螢幕寬度在600px和980之間套用樣式表M   -->

<link rel="stylesheet" href="style-s.css" media="only screen and (max-width:599px)">
<!--  螢幕寬度在600px以下時套用樣式表S   -->

</head>


[方法二]

直接於CSS寫入設定

<link rel="stylesheet"    href="外部樣式css檔" media="only 媒體類型and (特性)">


例如:
HTML檔寫入
<meta name="viewport" content="width=device-width">
<!--   基於density設定的解析度,設定viewport寬度    -->

<link rel="stylesheet" href="style-l.css">
<!--  基套用樣式表一   -->


於CSS檔寫入


@media   only  screen 
and (min-width : 600px) and (max-width : 980px){
                      #container {width: 100%;}
...........略...............
}

@media   only  screen 
and (max-width : 599px){
                      #container {width: 100%;}
...........略...............
}

[方法三]

CSS匯入外部樣式表

@media   url ("外部樣式檔"only 媒體類型and (特性);

例如:
@media   url ("style-l.css"only screen ;

@media   url ("style-m.css"only screen and (min-width:600px) and (max-width:980px);

@media   url ("style-s.css"only screen and (max-width:599px);

參考資料:HTML5+CSS智慧型手機專用網站設計

2014/10/15

西藏篇[七] 林芝--柏樹村

2011/10西藏篇[七] 林芝--柏樹村


[世界柏樹王園林]位於巴結村境內,距離八一鎮只有八公里。
這些巨柏是西藏特有的古樹,亦稱雅魯藏布江柏木

柏樹村入口


這些巨柏動輒20米高,集中分佈在西藏林芝地區,中國最古老的柏樹也在此地,約有2600年的樹齡,55米高,直徑近6米,要20多個大人才能環抱,當地人尊稱為[拉新秀巴]神樹的意思。
 園區內的解說牌


來到這2600年的巨柏王樹下,當然要找阿爹和柏樹拍張照片,
光是看那大巨柏的樹基部就知道非常的壯觀。
 阿爹很冷酷的表情

這就是巨柏的面貌,照片看不太出來有多大,可仔細瞧瞧巨柏右側,幾乎被漠視的兩個遊客,顯得多麼微小,我可是退後到好遠好遠的地方才拍到全貌。
 相傳此樹為苯教祖師辛饒米保的生命樹
因此來此朝拜者絡繹不絕

 刻在石頭上的巨伯簡介2600年的樹齡,55米高,直徑近6米


 藍天、白雲、陽光映照下的古亭,彩色的經幡隨風飄著


 巨柏。古亭。石板路。


 西藏的動物都是到處走著晃著,幾天的行程都沒見過圍欄圈養,也不擔心動物走丟或遺失,感覺很隨意或是說人道的餵養方式



 [環境保護  人人有責]這標語怎麼是砍樹來寫呢?
也許是我想太多了


 這園區的每棵柏樹都非常的巨大,難怪稱之為巨柏園。


樹下的桌椅,對照下好渺小


陽光照耀之處和樹蔭下溫度至少相差5度,陽光下熱到要脫外套,而樹蔭下不只穿外套圍巾都想圍上了。


 配合度超高的阿爹,盧少夫人拿她自己的太陽眼鏡給爹試戴,阿爹也笑咪咪地戴上讓我們拍照
阿爹變型男了


魯朗當地特色的石鍋,有名的石鍋雞就是使用這種鍋烹煮,由整塊石頭挖空製成
整塊石頭挖空的石鍋


 趁公安大人不在,趕快和公安車合照一張



路邊的歐兜賣.........嗯  : )   有特色~~  


歐兜賣的雙手還綁彩帶............後面的擋泥板還有美女圖




看夠了這些路邊的小小購物站之後,就該上車回八一鎮吃晚餐囉!

2014/10/14

西藏篇[六] 林芝--魯朗牧場

2011/10西藏篇[六] 林芝--魯朗牧場



魯朗牧場--位於林芝地區林芝縣魯朗鎮,距318國道5公里,相對比較隱秘。 景區面積約10000畝,位於一條寬10公里,長20多公里的溝內,

未到 [魯朗牧場] 已被沿路美景所迷惑


汽車行進間所拍攝沿途風景


景區內集林海、村落、牧場、歷史遺跡、溪流、花海..等景觀,歷史上曾是無數商旅、馬幫、朝聖者,艱難跋涉後的休憩之地。
魯朗牧場入口處


一進園區即見這幅像小說般的悠閒的生活


往前走幾步後即被眼前的美景緊緊抓住視線


[魯朗牧場]藍天白雲下潺潺流水


置身畫中


[魯朗牧場]入園處


[魯朗牧場]入園處


 迎面而來的藏族居民讓我開始懷疑自己是否走入時光隧道


連這匹馬都像電影場景走出來的


坐上遊園車由山腳下往上遊覽

[魯朗牧場]內金黃的草地


屋頂有先進的太陽能熱水器和五星旗耶!


[魯朗牧場]風景區內寧靜的田園風光,具藏區特色的木籬笆、木板屋、木頭橋及農牧民村寨星落棋布,散落於山坡,居民漫步在田野間勾畫了一幅恬靜、優美的世外桃源。
當地藏族居民的房舍


接近下午屋頂炊煙升起應該是準備晚餐


 遠處山頭的白雪和綠草地中覓食的馬,有種錯亂的美感


居民悠閒的農耕生活 


 這頭牛的毛似乎有點長


 像是剛耕好的田等待播種


藏族居民的農間生活


怎麼連馬牛都如此悠閒 


 [魯朗牧場]的田園景緻


[魯朗牧場]的田園景緻


[魯朗牧場]的田園景緻



[魯朗牧場]的田園景緻



[魯朗牧場]的田園景緻


離開平原部落遊園車繼續往上,來到經幡陣



 來到經幡陣,插滿經幡旗的坡地


五色經幡旗與具特色的轉經輪


 路旁悠閒散步的居民,如詩如畫般的美景,一整個悠閒空靈,覺得置身在時光倒退一世紀之後


 厚厚的雲層覆蓋著藍天,讓冒出的白雪山尖更添神秘!
山上有神仙喔?


悠閒的還有散步的豬呢!


 魯朗牧場最高處了,眺望尼洋河


 大氣勢的尼洋河山谷


尼洋風光

林芝的景色不同於西藏其他區域,算是少見有林、有樹木、有草原之處,之後的幾天所見之處皆是黃土高山。