重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
很多,比如國內的帝國呀
10年積累的網站建設、成都網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有臨湘免費網站建設讓你可以放心的選擇與我們合作。
還有論壇專用的程序.discuz
國外的wordpress以及 joomla
還有很多很多的呀
先簡單介紹下,也許你很熟悉下面的代碼: div id="news"
代碼如下:
div class="section"
div class="article"
div class="header"
h1Div Soup Demonstration/h1
pPosted on July 11th, 2009/p
/div
div class="content"
pLorem ipsum text blah blah blah./p
pLorem ipsum text blah blah blah./p
pLorem ipsum text blah blah blah./p
/div
div class="footer"
pTags: HMTL, code, demo/p
/div
/div
div class="aside"
div class="header"
h1Tangential Information/h1
/div
div class="content"
pLorem ipsum text blah blah blah./p
pLorem ipsum text blah blah blah./p
pLorem ipsum text blah blah blah./p
/div
div class="footer"
pTags: HMTL, code, demo/p
/div
/div
/div
/div
盡管這有些勉強,但上面這個實例還是可以說明使用HTML4對一個復雜的設計進行代碼化后依然過于臃腫(其實xHTML1.1也不過如此)。不過值得激動的是,HTML5解決“div-soup” 綜合癥并帶給我們一套新的結構化元素。這些新的HTML5元素富有更細致的語義從而代替了那些毫無語義的div標簽,并同時為CSS的調用提供了”自然”的CSS鉤子。
下面是 HTML5的解決方案實例: section
代碼如下:
section
article
header
h1Div Soup Demonstration/h1
pPosted on July 11th, 2009/p
/header
section
pLorem ipsum text blah blah blah./p
pLorem ipsum text blah blah blah./p
pLorem ipsum text blah blah blah./p
/section
footer
pTags: HMTL, code, demo/p
/footer
/article
aside
header
h1Tangential Information/h1
/header
section
pLorem ipsum text blah blah blah./p
pLorem ipsum text blah blah blah./p
pLorem ipsum text blah blah blah./p
/section
footer
pTags: HMTL, code, demo/p
/footer
/aside
/section
/section
正如我們所見,HTML5可以讓我們用很多更語義化的結構化代碼標簽代替那些大量的無意義的div標簽。這種語義化的特性不僅提升了我們網頁的質量和語義,并且大量減少了曾經代碼中用于CSS必須調用的class和id屬性。事實上,CSS3也是可以然通過我們忽略掉所有class和id 的。
跟class屬性說再見,歡迎整潔的標簽
結合了富有新的語義化標記的HTML5,CSS3為web設計師們的網頁提供了神一般的力量。有了HTML5的能量,我們將得到更多的對文檔代碼的控制權,有了CSS3的能量,我們的控制權將趨于無窮大!
即使沒有那些高級的CSS選擇器,我們仍然可以通過強大的HTML5條調用不同的容器而不勞駕class和id這類屬性。像以往的DIV布局,我們在css中可能要這樣調用: div#news {}
代碼如下:
div.section {}
div.article {}
div.header {}
div.content {}
div.footer {}
div.aside {}
我們再來看看基于HTML5的實例: section {}
復制代碼
代碼如下:
article {}
header {}
footer {}
aside {}
這是個進步,但仍有一些問題需要解決。在div實例中,我們需要通過class或id屬性來調用頁面中的元素。這種邏輯將允許我們將樣式應用到文檔中的任何一個元素上,無論是整體還是個體。例如在div實例中,.section 和 .content元素很容易定位。但是在HTML5實例中,實際文檔中會有很多個section元素。其實我們可以添加一些特定的屬性選擇器來調用那些不同的section元素,不過謝天謝地,我沒現在可以用少量的高級CSS選擇器來定位不同的section元素。
不使用class和id定位HTML-5元素
下面讓我們來看看如何在不使用class和id的情況下定位HTML5頁面元素的一個實例,我們可以使用三種CSS選擇器來定位和辨別實例中的元素。如下:
后代選擇器:[CSS 2.1]: EF
兄弟選擇器:[CSS 2.1]: E + F
子元素選擇器:[CSS 2.1]: E F
下面讓我們來看看如何不使用class和id而完成對文檔中的那些section元素的定位吧:
定位最外層的section元素
考慮到我們的例子并不是一套完整的HTML5代碼,所以我們假定在body元素下有個nav元素與section元素是兄弟元素。這樣的話,我們就可以向下面代碼那樣定位最外層的
section了:
代碼如下:
body nav+section {}
定位下一個section元素
作為最外層section元素下的唯一直屬子集元素,這個section元素也許可以這樣定位:
復制代碼
代碼如下:
sectionsection {}
定位article元素
可以定位article元素的方法有很多,不過最簡單的方法當然就是后代選擇器了:
代碼如下:
section section article {}
定位header、section 和footer元素
這三個元素分別在兩個地方都出現過,一是在article元素中出現,另一是在aside元素中出現。這種差別能讓我們輕松定位每個元素。
代碼如下:
article header {}
article section {}
article footer {}
或者一起定義:
代碼如下:
section section header {}
section section section {}
section section footer {}
到目前為止,我們已經使用CSS2.1選擇器排除掉了所有的class和id。那么我們為什么還需要使用CSS3 呢?我很高興你能這么問…
使用CSS3對HTML5元素進行高級定位
雖然我們已經使用CSS2.1選擇器排除掉了所有的class和id,顯然還會有很多更復雜的情況需要CSS3的高級選擇器來解決。讓我們通過完成一下的實例來了解一下如何在不使用無用的class和id屬性的情況下利用CSS3定位頁面元素。
使用一個唯一的日志 (post)ID定位所有日志
wordpress提供給我們一種包含了ID的每篇日志的源代碼輸出。這種信息通常用于導航和/或了解資料的意圖,不過CSS3可以利用這些唯一的ID來定義這些日志的樣式。當然,你還可以像往常那樣為每篇日志添加class=”post”這樣的屬性,但這就與我們練習的意圖相沖突了(再加上它沒有一點樂趣所在)。使用”子字符串匹配選擇器”,我們就可以像下面這樣定位所有日志和它們的不同元素了。
代碼如下:
article[id*=post-] {} /* 定位所有日志 */
article[id*=post-] header h1 {} /* 定位所有日志中的h1標簽 */
article[id*=post-] section p {} /* 定位所有日志中的p標簽 */
我們仍然可以使用同樣的方式定位評論的元素和它們的子元素。
代碼如下:
article[id*=comment-] {} /* 定位所有評論 */
article[id*=comment-] header h1 {} /* 定位所有評論中的h1標簽 */
article[id*=comment-] section p {} /* 定位所有評論中的p標簽 */
定位一些指定的區域(section)或文章(article)
有很多博客的日志量和評論量都相當大,HTML 5 會將它們由section或article元素組成。為了定位哪些指定的section 或article元素,我們就要轉而使用強大的“:nth-child”選擇器了:
代碼如下:
section:nth-child(1) {} /* 選擇第一個 section */
article:nth-child(1) {} /* 選擇第一個 article */
section:nth-child(2) {} /* 選擇第二個 section */
article:nth-child(2) {} /* 選擇第二個 article */
同樣,我們可以使用“:nth-last-child”選擇器定位反序的一些元素。
代碼如下:
section:nth-last-child(1) {} /* 選擇最后一個 section */
article:nth-last-child(1) {} /* 選擇最后一個 article */ /p psection:nth-last-child(2) {} /* 選擇倒數第二個 section */
article:nth-last-child(2) {} /* 選擇倒數第二個 article */
使用更多的方式選擇指定元素
另一種選擇HTML5中指定元素(如 header、section和footer)的方法就是利用”:only-of-type”選擇器的優勢。由于這些HTML5元素通常會在很多地方出現不止一次,所以當我們想定位那種在父元素下僅出現過一次的標簽時這種方法很方便。例如,我們要選擇的是在某元素中有切僅有的唯一一個元素,如以下代碼:
代碼如下:
section
section/section
section
section定位這個section元素/section
/section
section
section定位這個section元素/section
/section
section
section但不定位這個section元素/section
section和這個section元素/section
/section
section/section
/section
我們可以僅使用以下一行選擇器:
代碼如下:
sectionsection:only-of-type {}
再次嘮叨,你可以固執的為每個元素添加ID屬性,但你會失去代碼的可擴展性、維護性和絕對簡潔的結構與表現相分離。 CSS3的確能讓我們可快速更方便的定位幾乎所有沒有ID和class屬性的頁面元素。
Wordpress沒有自帶關閉博客功能,如果你想暫時關閉WordPress博客,而不是完全停用它。可以試試以下方法暫停:
當對WordPress進行自動升級時,此時博客是不能訪問的,同時會顯示提示“正在執行例行維護,請一分鐘后回來。” 或 “Briefly unavailable for scheduled maintenance. Check back in a minute.” 但這段時間通常都非常短,一般不會有人注意到。
這句話可以在wp-settings.php里進行修改,在 if(file_exists(ABSPATH.’.miantenance’)………)這一段內找到head,你可以自己修改代碼讓它顯示你要的內容,比如:博客暫時關閉,20年后再見...
接著新建一個文本文件:.maintenance,文件中寫入如下一句:
?php $upgrading = 600000000000; ?
將該文件傳到博客的根目錄即可,刷新博客就可以看到你修改的文字了。
另外推薦一個WordPress插件:Maintenance Mode ,該插件同樣可以簡單的實現暫時關閉博客的功能。
這幾天剛接手一批新做的網站,在訪問網站的時候,會時不時的出現403 Forbidden錯誤,瀏覽器會給出403 Forbidden錯誤提示,在打開Access Error中列出的URL之后, 出現以下錯誤:
403 Forbidden
Access to this resource on the server is denied!
Powered By LiteSpeed Web Server
LiteSpeed Technologies is not responsible for administration and contents of this web site!
403錯誤是網站訪問過程中,常見的錯誤提示。資源不可用,服務器理解客戶的請求,但拒絕處理它。通常由于服務器上文件或目錄的權限設置導致,比如IIS或者apache設置了訪問權限不當