表格的欄位為什麼不對齊
這是一個舊頁面內容,裡面的本來都很正常。但近來有使用者慢慢更新作業系統或瀏覽器後,發現表格原本被隱藏的欄位在點擊後不會正常排版。各位可以點擊標題測試,如果你是舊IE 6~IE 9,以上測試是正常的。但從IE 10開始,上述表格欄位就會不正常。(包含目前主流瀏覽器都不正常)
這是一個舊頁面內容,裡面的本來都很正常。但近來有使用者慢慢更新作業系統或瀏覽器後,發現表格原本被隱藏的欄位在點擊後不會正常排版。各位可以點擊標題測試,如果你是舊IE 6~IE 9,以上測試是正常的。但從IE 10開始,上述表格欄位就會不正常。(包含目前主流瀏覽器都不正常)
文字編輯器在接觸Sublime Text 2之前大多以Notepad++為主,筆記本為輔。不過看過Kevin Tseng的Sublime Text 2系列教學文之後,又花了一段時間來上手,發現Sublime Text 2這個又免費又付費的編輯器,實在是用程式設計師的角度來開發,而不是像一般編輯器是用編輯器的角度來開發,慢慢的喜歡上它,而且它多元化的輔助套件,和Visual Studio的擴充套件一樣,令Sublime Text 2加分不少。
以下整理我由A選到Z的套件,分類為安裝與選用,安裝是我正在安裝使用中的套件,選用是可依個人需求安裝使用。
必啟用,沒有它你就無法安裝擴充套件,快速鍵:Ctrl+Shift+P
啟用請參考:啟用Package Control
讓你在撰寫如HTML程式碼時,能有高亮度提醒功能。請參考以下官方圖片:
當的游標移至文字中如"#FFFFFF","rgb(255,255,255)","white"會自動顯示對應的顏色。當然,用在CSS居多。
Zen Coding本身是個外掛程式,官網上的資料,Zen Coding目前可以使用在36套各類HTML與CSS編輯器中,像是Aptana、TextMate (Mac)、Notepad++、PSPad、Dreamweaver、Sublime Text 2、Visual Studio…等常用的編輯器都有支援Zen Coding。
那Zen-Coding的作用是什麼呢?它的目標很簡單,就是利用已有的技術,高速的架構出HTML、CSS、XML、XSL或HAML。什麼是已有的技術,簡單說,它是CSS Selector(CSS選擇器)的再利用。
極速
就我使用Zen-Coding它的經驗而言,就算只是簡單拿來產出HTML5或CSS3的程式碼,Zen-Coding也可以非常有效率的加速我寫HTML5與CSS3的速度,加多少,這我很難用言語或文字表示,先看一段影片:
哇!哇!哇!哇!哇!哇!
如果看完沒有跟著哇!那再來一次!
哇!哇!哇!哇!哇!哇!
在上一篇【在 VISUAL STUDIO 撰寫 SASS(SCSS) 讓您快樂似神仙】中,我們完成了在 Visual Studio 裡開發 SCSS 的設定,這一篇主要是參考【Sass Reference】網站內容與【Sass & Compass: The future of stylesheets now.】簡報內容裡的程式碼做一些註解,未來查詢時方便自我取用。
就那麼簡單: {} 一層,{{}} 兩層,以此類推。在 SCSS 語法裡巢狀規則也很簡單,你就看包幾層的 {} 符號,那就是幾層。
/* 巢狀規則1 */ /* article 與 border-top 一條規則 */ /* article 與 header 一條規則 */ article { border-top: 1px dashed #eee; header { margin-bottom: 1.5em; } } /* 巢狀規則2 */ /* article 與 header 一條規則 */ /* article 與 section 一條規則 */ article { header, section { margin-bottom: 1.5em; } } /* 巢狀規則3 */ /* article 與 >, ~, +, * 各一條規則(共 4 條規則) */ article { > h2 { border-top: 1px dashed #eee; } ~ article { padding-top: 1.5em; } + footer { margin-top: 0; } * { color: #000; } } /* 巢狀規則4 */ /* Parent Selector - & 參考父選擇器 */ /* a 一條規則 */ /* &:hover 一條規則 */ a { color: blue; &:hover { color: red; } display: inline-block; line-height: 1.8em; } /* 巢狀規則5 */ /* Parent Selector - & 新增內容至選擇器 */ /* article 與 h1 一條規則 */ /* .blog-index & 參考(&)父選擇器形成 ".blog-index article",.blog-index article 與 h1 一條規則 */ article { h1 { font-size: 2.4em; } .blog-index & { h1 { font-size: 2em; } } } /* 巢狀規則6 */ /* Parent Selector - & 與 Modernizr 一起運作 */ /* button 與 backgroud 一條規則 */ /* .no-cssgradients & 參考(&)父選擇器形成 ".no-cssgradients button" 一條規則 */ button { background: linear-gradient(#444, #222); .no-cssgradients & { background: #333; } }
@charset "UTF-8"; /* 巢狀規則1 */ article { border-top: 1px dashed #eee; } article header { margin-bottom: 1.5em; } /* 巢狀規則2 */ article header, article section { margin-bottom: 1.5em; } /* 巢狀規則3 */ article > h2 { border-top: 1px dashed #eee; } article ~ article { padding-top: 1.5em; } article + footer { margin-top: 0; } article * { color: #000; } /* 巢狀規則4 */ a { color: blue; display: inline-block; line-height: 1.8em; } a:hover { color: red; } /* 巢狀規則5 */ article h1 { font-size: 2.4em; } .blog-index article h1 { font-size: 2em; } /* 巢狀規則6 */ button { background: linear-gradient(#444444, #222222); } .no-cssgradients button { background: #333; }
父選擇器碰到子選擇器,就形成一條規則。碰到 &(參考) 就形成一條規則。例如以下 SCSS,
a { color: red; b { color: greed; c { color:blue; } } }
產生的 CSS,
a { color: red; } a b { color: greed; } a b c { color: blue; }
a、ab、abc 一共三條,這樣清楚了嗎。
前陣子,透過 demo.tc 認識了正妹 compass.app 這套很棒的軟體。透過 compass.app 的介紹又認識了 Sass (這是辣媽,不信你連進去看),Sass 為 CSS 提供程式語言等級的功能。CSS 嚴格來說不算程式語言,它本身只是一堆樣式的設定,前後樣式一串一串起來成為串接樣式表,內容更是了無新意【選擇器 { 樣式: 樣式設定};】就這樣,CSS2 到 CSS3 只就增加更多的選擇器、樣式、樣式設定。不過,就像樂高積木一樣,雖然只是積木,但可以千變萬化,這才是它利害的地方。
單純就 *.css 檔案而言,就組織與維護方面實在很弱。不過有了 Sass 之後情況就不同了。Sass 是延伸 CSS3 語法的語法,而且讓我們可以像寫程式語言一樣去撰寫 CSS,Sass 提供了像:
還有其他更多功能,這些內容你看起來有沒有很熟悉。目前 Sass 分為二個語法版本,舊的是 Sass 語法,新的是 SCSS 語法。Sass 語法與 SCSS 語法差異很小,不過 SCSS 語法合乎 CSS 語法的使用習慣,所以比較建議學習使用 SCSS 語法。
compass.app 是一套 monitor 軟體,它會監控指定目錄(或稱專案)下的 *.scss 檔案,在目錄下有 *.scss 檔案新增或異動時,compass.app 會自動產生及更新對應的 *.css 檔案,透過 compass.app 的幫忙,會自己轉換 SCSS 語法為 CSS 語法,非常方便,方便之中帶點小不便。
在撰寫 SCSS 過程裡,總不能開 Notepad / Notepad++ 來寫 SCSS,這就好像回到十多年前,用 Notepad 寫 HTML 的時代,在已經習慣自動完成這種功能,要使用沒自動完成功能的撰寫任務,我只能說:我回不去了!
圖片來源:網路 |
所以我們要為史上最強 IDE Visual Studio 裡加上 SCSS 的開發功能。讓 Visual Studio 強上加強!
直到最近,我才知道,原來 XHTML 騙了我好多年,我們寫出來的程式,從來就沒有成為 XHTML 的一天,但一直以為只要我把那非常長的 DOCTYPE 加入,然後使用良好格式(well-formated)來撰寫,並且只要通過 w3 的驗證器認證,就可以大聲說,我很厲害,而且還可以把 w3 官方 XHTML Logo 放在網頁上,以示眾人。
我只是一個平凡人,如果我能,你也能。by KKBruce首先,我一定要感謝我最愛的家人們,不管什麼時候、什麼事,你們都永遠支持我。再來感謝所有幫助過我的人,因為有你們的表率,讓我有學習的對象,讓我有機會成為一位Microsoft MVP。
圖一:Microsoft MVP獎項 |
圖二:2012 Microsoft MVP獎盃 |
- 減少發出HTTP請求 (Minimize HTTP Requests)
- 使用內容分散式網路 (Use a Content Delivery Network (CDN))
- 避免空白的 src 或 href (Avoid empty src or href)
- 增加過期或Cache-Control標頭(add an Expires or a Cache-Control Header)
- 使用Gzip 組件(Gzip Components)
- 樣式表(CSS檔案)放在最頂端(Put StyleSheets at the Top)
- 腳本(JavaScript檔案)放在最底端(Put Scripts at the Bottom)
- 避免 CSS 表達式(Avoid CSS Expressions)
- 將 JavaScript 與 CSS 放在外部檔案(Make JavaScript and CSS External)
- 減少 DNS 查詢(Reduce DNS Lookups)
- 壓縮 JavaScript 與 CSS(Minify JavaScript and CSS)
- 避免重導向(Avoid Redirects)
- 刪除重複的腳本(JavaScript檔案)(Remove Duplicate Scripts)
- 設置 ETags(Configure ETags)
- 讓AJAX能快取(Make AJAX Cacheable)
- 在AJAX請求中使用 GET 方法(Use GET for AJAX Requests)
- 減少DOM元素數量(Reduce the Number of DOM Elements)
- 不要有HTTP 404錯誤(No 404s)
- 減少 Cookie 大小(Reduce Cookie Size)
- 為組件使用 Cookie-free 網域(Use Cookie-free Domains for Components)
- 避免過濾器(Avoid Filters)
- 不要在HTML裡使用縮放圖片(Do Not Scale Images in HTML)
- 讓favicon.ico圖小且能快取(Make favicon.ico Small and Cacheable)
h1 { font-size: 24px; } h2 { font-size: 20px; } h3 { font-size: 16px; } p { font-size: 14px; }
body { /* 一般都會選擇 small 或 medium為主大小; small約 12px; medium 約 14px; */ font-size: small; } h1 { /* 12px * 200% 約 24px */ font-size: 200%; } h2 { /* 12px * 160% 約 19px */ font-size: 160%; } h3 { /* 12px * 120% 約 14px */ font-size: 120%; } p { /* 12 * 1.5 = 18px */ font-size: 1.5em; }
$(function(){ // 加上flag是為了讓文字有切換的效果 var flag = false; // 在一個input上(id=click)註冊onclick事件 $('#click').bind('click',function(){ if (flag){ $('body').css('font-size','medium'); flag = false; } else { $('body').css('font-size','large'); flag = true; } }); });
/* for China */ font-family : "宋体", simsun, nsimsun, "黑体", simhei, "楷体", simkai, "仿宋", simfang, Arial, Verdana, "Trebuchet MS", sans-serif; /* for Taiwan */ font-family : "新細明體", PMingLiu , "標楷體", DFKai-sb , "細明體", MingLiu , "微軟正黑體", "Microsoft JhengHei" , Arial, Verdana, "Trebuchet MS", sans-serif;
<div id="nav"> <ul> <li><a href="#">Home</a></li> <li><a href="#">News</a></li> <li><a href="#">Sports</a></li> </ul> </div>
body { background-color : #ffdee0;} #nav { width:200px; font-family : Arial ;} /*寬度與字型*/ #nav ul { list-style-type : none; margin : 0px; padding : 0px;} /*取消樣式*/ #nav li { border-bottom : solid 1px #ed9f9f;} /*li底線顏色*/ #nav li a { display:block ; /*a區塊顯示*/ padding : 5px 5px 5px 0.5em; /* 左邊留0.5em空白*/ text-decoration : none; /*取消底線*/ border-left : 12px solid #711515; /* 左邊產生12px粗bar*/ border-right : 1px solid #711515;} /* 右邊產生1px細bar*/ #nav li a:link, #nav li a:visited { background-color : #c11136; color :#ffffff;} /*設定:link與:visited的背景與文字顏色*/ #nav li a:hover { background-color : #990020; color : #ffff00;}/*設定:hover背景與文字顏色*/
ps. 有些不錯的翻譯書會附上原文全文電子檔。 不過就我逛過、看過、買過的書中,很少就是了。
margin : 0; /*一個值:代表上、下、左、右。margin : 0 0 0 0;的簡寫。*/ margin : 5 10; /*二個值:值1:上下、值2:左右。margin : 5 10 5 10;的簡寫。*/ margin : 5 10 15; /*三個值:值1:上、值2:左右、值3:下。margin : 5 10 15 10;的簡寫。*/ margin: 1 10 5 15; /*四個值:值1:上、值2:右、值3:下、值4:左。*/
/*方法一*/ margin-left : auto; margin-right: auto; /*方法二*/ margin : auto; /*方法三*/ margin : 上下 auto; margin : 0 auto; /*方法四*/ margin : 上 auto 下; margin : 0 auto 0;
<!--巡覽列--> <div id="navigation"> <div id="container"> <ul id="firstul"> <li id="home" class="active"><a href="#" title="Home">首頁</a></li> <li id="news"><a href="#" title="讀書心得" id="mynews">讀書心得</a></li> <li id="about"><a href="#" title="有關我" id="about_us">有關我</a></li> </ul> <div id="mypage" style="display: none" align="center"> </div> </div> </div> <!-- 文章:預設只顯示標題 --> <div id="content"> <span id="title01">數位式競爭--讀書心得</span><br> <div id="title01_content" style="display: none;"> 這本書為民國89年出版,已經在我書架上很多了年,是我讀大學時的教科書,老師花了一個學期就只上這本書,當時讀起來沒什麼感覺,頂多只是為了交報告而讀,但很奇怪,它就是一直在我的書架上,雖然十多年來,書架上的書已經換了好幾回,尤其是資訊類的書,換的速度之快連我都怕,不過一本好書一定有存在的價值,不會因為時間的變動而有任何改變。我每天可以說都在與技術文件為「舞」,只是不知是我看它跳還是它看我跳。就這樣有一天,不知為何,好像「它」在跟我招手,然後說,來看看我吧,離上次你讀我已經是九年多前的事了,我能給你一些「明牌」!古人說:「不經一事,不長一知。」你沒有經歷過的事,說再多感受就是有限。但九年後的今天重讀本書,真是感受良多,這本書應該是十年前版的「由A到A+」。我一直很佩服國外的研究學者,能花那麼多時間、精神來研究出原本為「隱性」的知識,讓想要更上一層樓的人可以有方法可循。看完這本書後,讓我心有戚戚,十多年前的故事,現在每天還是在不斷重覆發生,不管是成功的故事,還是失敗的故事。我想這可能是知識的傳遞、了解到最後的落實還有很大一段差距。如果你從事軟體相關產業,而還沒有看過這本書,我非常建議你買來看看(我不知道還買不買的到)。 </div> <span id="title02">The Last Lecture -- 讀書心得</span><br> <div id="title02_content" style="display: none;"> 「最後的演講」,是一位父親留給孩子的遺言。沒錯,是遺言。聽起來是個不好的消息,但也因為是遺言,所以他必須認真思考要留下什麼給他的孩子們,他晚婚,他小孩都還小,他有成就,他患癌。最後的演講分為兩個部分,一是演講影片,二是書本。我是先看書再看影片,影片的部份,你可以搜尋「朱學恆」在他的部落格裡有影片檔和中文字幕,影片是免費的。這場演講為什麼會是全世界轟動?我想,除了是作者蘭迪.鮑許(Randy Pausch)本身在面對癌症時還能散發不可思義的"樂觀"魅力,還有一種「人之將死,其言也善。」的人生智慧在裡面。人生有方向,是多麼重要及快樂的一件事,首先,是完成自我的夢想,然後是啟發他人的夢想,還可以進一步幫助他人完成夢想。這是Randy教授最後想跟我們說的話。反之,也就是人生一定要有「目標」、要有「方向」,要知道你自己的「路」在那裡。這或許是我喜歡讀些哲學類的書籍關係,思考一件的事的角度之多,或許不是你能想像的,提高看事的高度,提高做事的層度,努力的成就自己,但也不要忘了幫助別人,造成一個良性循環的社會。 </div> <span id="title03">Word of Mouth Marketing--讀書心得</span><br> <div id="title03_content" style="display: none;"> 我的信箱中有許多的電子報,每天上班第一件事就開打開信箱,確認一下有沒有重要人士的信件,看看Log信件,看看電子報,其實訂了那怎多的電子報,絕大部份都在1-10秒內被我的食指結束生命,快快的按下那Delete鍵,然後Next。而某天的一封電子報裡刊載的標題讓我有興趣「掃」一下,看完後(很少有認真看完全部),內容簡潔但又不失內容,後來又收到幾期的內容,一樣,都是很直接也實用的內容,文筆也不會看了想睡覺。這些電子報其實也是行銷手腕的一種,精選幾段精彩的內容,吸引你的注意,如果你也確實被吸引,但因為你只是看到部份的片面,這時就要看這些精彩的內容是否有足夠的吸引內,讓你採取行動,拿出新台幣去換一本有完整內容的書本。而我,被打動了。雖然我不是行銷人員,但我對行銷、管理方面的知識算很有興趣,一樣是動腦的工作,但行銷、管理和程式就是不同。而作者除了提供大量免費實用的做法外,也提供簡單的5個步驟打造好的「口碑」。 </div> </div>
/*ul元素設定*/ #navigation ul { list-style-type : none ; margin : 0 auto; /*置中*/ padding : 0; width : 850px; } /*讓li"浮"起來,變成"橫向列"*/ #navigation li { float : left ; } /*Menu中a元素設定*/ #navigation a { float : left ; display : block ; /*以「區塊」元素方式顯示*/ color : rgb(197,197,197); padding : 5px 8px; margin-top : 10px; border-bottom-width : 0; } /*li中類別為active的a元素設定*/ #navigation li.active a { color : rgb(255,204,0); background-color : rgb(153,153,153); } /*Menu中a元素:hover及:active設定 */ #navigation a:hover, #navigation a:active { color : rgb(204,204,255); background-color : rgb(100,90,125); } /*文章區塊,<div id="content">設定 */ #content { clear : both ; width : 850px; margin : 0 auto; /*置中*/ padding : 0; background-color : rgb(193,189,204); } /* 文章標題,讓jQuery動態加入 */ .newstitle { color :Black ; border-bottom : 1px dotted gray; } /* 文章內容,由jQuery動態控制 */ .newscontent { width : 50%; color : Black ; background-color : rgb(255,153,51); border : 1px dotted gray; padding : 7px 30px 10px 25px; }
$(function() { $("#firstul li:eq(0)").removeClass("active"); //先將"首頁"的類別移除 $("#firstul li:eq(1)").addClass("active"); // 將"讀書心得"設定.active類別 $("span[id]").addClass("newstitle"); // 文章標題設定 $("#title01").click(function() { //點擊標題時, //文章內容加入.newscontent類別設定 $("#title01_content").addClass("newscontent").toggle("slow"); //其他非title01的內容,全部hide() $("div[id^=title]:not(#title01_content)").hide("slow"); }); $("#title02").click(function() { $("#title02_content").addClass("newscontent").toggle("slow"); $("div[id^=title]:not(#title02_content)").hide("slow"); }); $("#title03").click(function() { $("#title03_content").addClass("newscontent").toggle("slow"); $("div[id^=title]:not(#title03_content)").hide("slow"); }); });
<a href="kkbruce.blogspot.com" title="KingKong Bruce">Bruce</a> | <a href="KingKong.pdf" title="KingKong PDF file">KingKong PDF</a>
.pdf { background-color: green; border: 1px solid #ABABAB; color: white; }
$(function(){ $('a[href$=".pdf"]).addClass('pdf'); //a[]:屬性過濾 //$=:結尾是… //addClass:加入Class //整句話:將a屬性href結尾是.pdf加入Class屬性為pdf });
$(function(){ $('a[href$=".com"]').css({"background-color": "green", "border":"1px solid #ABABAB", "color":"white", "font-family":'"Verdana", "Courier New"', "font-size": ".93em"}); //css:加入css設定 //特性:值 //整句話:將a屬性href結尾是.com加入css設定(即style屬性) });
a[href$=".pdf"] { background-color: green; border: 1px solid #ABABAB; color: white; }