html5介紹
在編寫html文檔時,<!doctype>聲明必須位于html5文檔中的第一行:
<!doctype html>
字符編碼(字符集)聲明也被簡化:
<meta charset="UTF-8">
html5中的默認字符編碼是UTF-8
對于中文網頁需要使用<meta charset="UTF-8">聲明編碼,否則會出現亂碼.
html5中的一些新特性:
●用于繪畫的canvas元素
●用于媒介回放的video和audio元素
●對本地離線存儲的更好的支持
●新的特殊的內容元素.比如article,footer, header,nav,section
●新的表單控件.比如calendar,date,time,email,url,search
二 html 內容模型
html5中引入了很多的標記元素,根據內容類型的不同,這些元素被分成7大類:
●內聯(Embedded)
●流(Flow>)
●標題(Heading)
●交互(Interactive)
●元數據(Metadata)
●短語(Phrasing)
●區段(Sectioning)
html內容類型旨在使標記結構對瀏覽器和網站設計者更有意義
元數據(Metadata):通常出現在頁面的head中,設置頁面其他部分的表現和行為.
元素:<base>,<link>,<meta>,<noscript>,<script>,<style>,<title>
內聯(Embedded):在文檔中添加其他類型的內容.
元素:<audio>,<video>,<canvas>,<iframe>,<img>,<math>,<object>,<svg>
交互(Interactive):與用戶交互的內容.
元素:<a>,<audio>,<video>,<button>,<details>,<embed>,<iframe>,<img>,<input>,<label>,<object>,<select>,<textarea>
標題(Heading):定義段落標題
元素:<h1>,<h2,<h3>,<h4>,<h5>,<h6>,<hgroup>
短語(Phrasing):文本和文本標記元素
元素:<img>,<span>,<strong>,<label>,<br/>,<small>,<sub>等
相同的元素可以屬于多個內容模型
流(Flow)內容:包含在文檔正常流中的大多數html5元素
區段(Sectioning)內容:定義標題,內容,導航和頁腳的范圍
元素:<article>,<aside>,<nav>,<section>
流(Flow)包含了幾乎所有的其他內容.
三 html頁面結構
通用的html5頁面結構如下圖所示:
在編寫html5文檔時,你可能不需要其中的某些元素,具體取決于你的頁面結構
四 header, nav&footer
在html4中,我們將定義一個這樣的頭:
<div id="header">
在html5中,我們使用簡單的<header>標簽
<header>標簽定義了文檔的頭部區域
<header>元素適合在<body>標簽內部使用
實例:
<!doctype html>
<html>
<head></head>
<body>
<header>
<h1>標題1</h1>
<h2>標題2</h2>
</header>
</body>
</html>
注意:<header>與<head>標簽不同
在html5中,<footer>標簽定義文檔或者文檔的一部分區域的頁腳
文檔的頁腳:
<footer>
<p>Posted by:A ping</p>
</footer>
在典型情況下,<footer>元素會包含文檔創作者的姓名,文檔的版權信息,使用條款的鏈接,聯系信息等等
在html5中,<nav>標簽定義導航鏈接的部分
并不是所有的html文檔都要使用到<nav>元素.<nav>元素只是作為標注一個導航鏈接的區域
一個導航鏈接的實例:
<nav>
<a href="/html/">HTML</a>
<a href="/css/">CSS</a>
<a href="/js/">JS</a>
<a href="/jquery">JQuery</a>
</nav>
運行效果如下:
一個通用的html5頁面結構:
<body>
<header>
<nav>
<footer>
五 article,section&aside
在html5中,<article>標簽定義獨立的內容
<article>標簽定義的內容本身必須是有意義的且必須是獨立于文檔的其余部分
<article>的潛在來源:
●論壇帖子
●博客文章
●新聞故事
●評論
實例:
<article>
<h1>文章標題</h1>
<p>文章元素的內容</p>
</article>
在html5中,<section>標簽定義了文檔的某個區域.比如章節,頭部,底部或者文檔的其他區域
實例:
文檔的某個區域,解釋了什么是W3C:
<section>
<h1>W3C</h1>
<p>World Wide Web Consortium(W3C)是萬維網聯盟...</p>
</section>
在html5中,<aside>標簽定義<article>標簽外的內容
aside的內容應該與附近的內容相關
實例:
<aside>
<h4>Epcot Center</h4>
<p>The Epcot Center is a theme park in Disney World,Florida</p>
</aside>
提示:<aside>的內容可用作文章的側欄
網頁布局有很多種方式,一般分為以下幾個部分:頭部區域、菜單導航區域、內容區域、底部區域。
頭部區域位于整個網頁的頂部,一般用于設置網頁的標題或者網頁的 logo:
例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS 項目(runoob.com)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
margin: 0;
}
/* 頭部樣式 */
.header {
background-color: #f1f1f1;
padding: 20px;
text-align: center;
}
</style>
</head>
<body>
<div class="header">
<h1>頭部區域</h1>
</div>
</body>
</html>
菜單導航條包含了一些鏈接,可以引導用戶瀏覽其他頁面:
例
/* 導航條 */
.topnav {
overflow: hidden;
background-color: #333;
}
/* 導航鏈接 */
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
/* 鏈接 - 修改顏色 */
.topnav a:hover {
background-color: #ddd;
color: black;
}
內容區域一般有三種形式:
不相等的列一般是在中間部分設置內容區域,這塊也是最大最主要的,左右兩次側可以作為一些導航等相關內容,這三列加起來的寬度是 100%。
例:
.column {
float: left;
}
/* 左右側欄的寬度 */
.column.side {
width: 25%;
}
/* 中間列寬度 */
.column.middle {
width: 50%;
}
/* 響應式布局 - 寬度小于600px時設置上下布局 */
@media screen and (max-width: 600px) {
.column.side, .column.middle {
width: 100%;
}
}
底部區域在網頁的最下方,一般包含版權信息和聯系方式等。
例
.footer {
background-color: #F1F1F1;
text-align: center;
padding: 10px;
}
通過以上等學習我們來創建一個響應式等頁面,頁面的布局會根據屏幕的大小來調整:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>項目</title>
<style>
* {
box-sizing: border-box;
}
body {
font-family: Arial;
padding: 10px;
background: #f1f1f1;
}
/* 頭部標題 */
.header {
padding: 30px;
text-align: center;
background: white;
}
.header h1 {
font-size: 50px;
}
/* 導航條 */
.topnav {
overflow: hidden;
background-color: #333;
}
/* 導航條鏈接 */
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
/* 鏈接顏色修改 */
.topnav a:hover {
background-color: #ddd;
color: black;
}
/* 創建兩列 */
/* Left column */
.leftcolumn {
float: left;
width: 75%;
}
/* 右側欄 */
.rightcolumn {
float: left;
width: 25%;
background-color: #f1f1f1;
padding-left: 20px;
}
/* 圖像部分 */
.fakeimg {
background-color: #aaa;
width: 100%;
padding: 20px;
}
/* 文章卡片效果 */
.card {
background-color: white;
padding: 20px;
margin-top: 20px;
}
/* 列后面清除浮動 */
.row:after {
content: "";
display: table;
clear: both;
}
/* 底部 */
.footer {
padding: 20px;
text-align: center;
background: #ddd;
margin-top: 20px;
}
/* 響應式布局 - 屏幕尺寸小于 800px 時,兩列布局改為上下布局 */
@media screen and (max-width: 800px) {
.leftcolumn, .rightcolumn {
width: 100%;
padding: 0;
}
}
/* 響應式布局 -屏幕尺寸小于 400px 時,導航等布局改為上下布局 */
@media screen and (max-width: 400px) {
.topnav a {
float: none;
width: 100%;
}
}
</style>
</head>
<body>
<div class="header">
<h1>我的網頁</h1>
<p>重置瀏覽器大小查看效果。</p>
</div>
<div class="topnav">
<a href="#">鏈接</a>
<a href="#">鏈接</a>
<a href="#">鏈接</a>
<a href="#" style="float:right">鏈接</a>
</div>
<div class="row">
<div class="leftcolumn">
<div class="card">
<h2>文章標題</h2>
<h5>xx 年xx月 xx日</h5>
<div class="fakeimg" style="height:200px;"><img src="img/bird.png"></div>
<p>文本...</p>
<p>當熱誠變成習慣,恐懼和憂慮即無處容身。缺乏熱誠的人也沒有明確的目標。熱誠使想象的輪子轉動。一個人缺乏熱誠就象汽車沒有汽油。
善于安排玩樂和工作,兩者保持熱誠,就是最快樂的人。熱誠使平凡的話題變得生動。!</p>
</div>
<div class="card">
<h2>文章標題</h2>
<h5>xx 年 xx 月xx日</h5>
<div class="fakeimg" style="height:200px;"><img src="img/border.png"></div>
<p>文本...</p>
<p>一切事無法追求完美,唯有追求盡力而為。這樣心無壓力,出來的結果反而會更好!</p>
</div>
</div>
<div class="rightcolumn">
<div class="card">
<h2>關于我</h2>
<div class="fakeimg" style="height:100px;"></div>
<p>6666</p>
</div>
<div class="card">
<h3>熱門文章</h3>
<div class="fakeimg"><img src="img/fy2_wp.png">\</div>
</div>
<div class="card">
<h3>關注我</h3>
<p>本站發布的系統與軟件僅為個人學習測試使用,請在下載后24小時內刪除,
不得用于任何商業用途,否則后果自負,請支持購買正版軟件!如侵犯到您的權益,請及時通知我們,我們會及時處理。
聲明:為非贏利性網站 不接受任何贊助和廣告。</p>
</div>
</div>
</div>
<div class="footer">
<h2>底部區域</h2>
</div>
</body>
</html>
本文主要介紹了Html的網頁布局結構,如何去了解網絡的布局,介紹了常見的移動設備的三種網頁模式,最后通過一個小項目,總結之前講解的內容。
代碼很簡單,希望可以幫助你學習。
發現前端開發人員一直在努力征服CSS。理由也很充分,開發人員是用邏輯思考的生物。添加一個DIV元素導致所有代碼都不得不往下移一行,而另一個DIV“浮”到左側,感覺沒有任何意義。
你也一定聽到過開發人員的抱怨:“我們只需要向左邊移動五個像素,但是…天哪!為什么整個都向下移動了一行。到底是哪里錯了?!?!?!”
根據我作為前端開發人員使用CSS的經驗,下面是我的十個“不要”。
1.不要濫用類
在有意義的地方使用ID而不要使用類。這是一個使得瀏覽器能夠更快訪問DOM元素的方法。
2.不要把一切都扔進一個CSS文件中
分區CSS使其更易于管理。每一個CSS文件都可以分解成例如header.css、footer.css等邏輯組件。
3.不要命名選擇器為“.red-with-green-dashed-lines”(紅綠虛線)
根據頁面上的組件命名你的選擇器。例如:“header-left”,“content-title”或“content-date”更具描述性。
4.不要忘記注釋
注釋在CSS中非常重要,可用來理解每個樣式如何與其他樣式關聯以及什么顏色方案適用于哪些組件。
5.不要害怕開發工具
現在的每個瀏覽器都有自己的一套開發工具,通常是按F12。這些工具在“調試CSS”時至關重要。
6.不要害怕覆蓋
當然,CSS框架,例如Bootstrap和Foundation都較為巨大,但每一個都需要根據你的需要做出一點調整。當你得到一個更新的框架時,它將覆蓋你的改變。與其深入挖掘龐大的CSS文件,還不如創建一個bootstrap-overrides.css文件,按照你的意愿調整框架,只是…
7.不要濫用 !很重要
CSS的整體思路是,從一個到另一個地“層疊”樣式。!重點是要記住排雷一樣地踏遍所有早先的樣式。: -)
8.不要使用大量網絡字體
這也是顯而易見的,但有些人就是喜歡自己排版。只在網站上使用一個或兩個(最多三個)網絡字體,然后回歸到瀏覽器默認設置,以保持網站的優化。
9.不要手動編碼所有的CSS
為了保持CSS的DRY,可以使用CSS預處理程序例如LESS或SASS。使用這些預處理器的最大好處是,你可以定義變量,例如在上面定義配色方案,然后重復使用到所有CSS,而不必當你需要修改的時候追蹤每個顏色。
10.不要讓CSS過于“臃腫”
空格會占用CSS文件的空間空間。由于我們都希望我們的CSS能夠快速加載,因此在部署到網站之前最好使用CSS壓縮工具來一次瘦身。
小編是一個有著5年工作經驗的架構師,關于web前端,自己有做材料的整合,一個完整學習web前端的路線,學習材料和工具。需要的伙伴可以私信我,發送“前端”等3秒后就可以獲取領取地址,免費送給大家。對于學習web前端有任何問題(學習方法,學習效率,如何就業)都可以問我。希望你也能憑自己的努力,成為下一個優秀的程序員!
以上只是我作為一個開發人員在編寫CSS時認為不應該做的事情。希望能幫助到各位前端同行!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。