Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
(OF作品展示)
OF之前介紹了用python實(shí)現(xiàn)數(shù)據(jù)可視化、數(shù)據(jù)分析及一些小項(xiàng)目,但基本都是后端的知識(shí)。想要做一個(gè)好看的小系統(tǒng),我們還要學(xué)一些前端的知識(shí),今天OF將講解如何用pycharm(全棧開(kāi)發(fā)不錯(cuò)的工具)做一張好看的網(wǎng)頁(yè),以后我們就可以自己開(kāi)發(fā)網(wǎng)頁(yè)/網(wǎng)站放到互聯(lián)網(wǎng)上。
主要內(nèi)容:網(wǎng)頁(yè)前端布局
適用人群:Python初學(xué)者,前端初學(xué)者
準(zhǔn)備軟件:pycharm
1) 下載完成pycharm, 點(diǎn)擊file-New Project...
2) 按下圖步驟創(chuàng)建一個(gè)項(xiàng)目,目前我們選擇Pure python即可,以后我們可以學(xué)習(xí)用Django/flask等框架來(lái)做完整的系統(tǒng)
1)在創(chuàng)建的項(xiàng)目空白處鼠標(biāo)右鍵-New-HTML File
2)輸入英文的網(wǎng)頁(yè)名字,盡量不要輸入中文/特殊字符
當(dāng)雙擊打開(kāi)我們創(chuàng)建后的HTML文件,大家會(huì)看到下面的界面
在開(kāi)始開(kāi)發(fā)網(wǎng)頁(yè)前,我們需要自己設(shè)計(jì)下想要把網(wǎng)頁(yè)做成什么樣,為了節(jié)省成本OF都是自己設(shè)計(jì)的頁(yè)面樣式,可以手繪,也可以在PPT上畫。
我們先學(xué)習(xí)一個(gè)比較簡(jiǎn)單的布局如下圖,大家可以看到下圖已經(jīng)畫出了我們需要添加的內(nèi)容,要注意的地方是比如Taylor的圖片和文字一定要用<div class=bord>框住,否則Taylor圖片與文字將會(huì)是左右的關(guān)系,而不是上下
根據(jù)上述的css名字定義,先填充<body>內(nèi)的代碼,那么我們就完成一半的工作了,代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="intro">
<p class="peo">人物介紹</p>
</div>
<div id="pic1">
<div class="bord">
<img class="img" src="pic/Taylor.png"/>
<p class="word">Taylor</p>
</div>
<div class="bord">
<img class="img" src="pic/yan.png"/>
<p class="word">東</p>
</div>
<div class="bord">
<img class="img" src="pic/song.png"/>
<p class="word">喬</p>
</div>
</div>
</body>
</html>
1)鼠標(biāo)移到代碼處,在右上角我們會(huì)看到一排瀏覽器,我們點(diǎn)擊其中一個(gè)運(yùn)行
2)目前看到的網(wǎng)頁(yè)內(nèi)容從上到下顯示
首先我們簡(jiǎn)要了解下flex布局,大家可以看到下圖中#main的style樣式中display:flex,在body部分將3個(gè)顏色內(nèi)容框在<div id="main">中,運(yùn)行結(jié)果是3個(gè)顏色的內(nèi)容橫向展示了,而不是上下
1)那么我們先從“人物介紹”的布局開(kāi)始,“人物介紹”居中展現(xiàn)(用flex中justify-content:center),而且下面有一條黑線,OF準(zhǔn)備用border樣式來(lái)實(shí)現(xiàn),所以在<div id=intro>里另加了個(gè)<div class=peo>,代碼如下:
(注:style中的#main對(duì)應(yīng)body中的id=main, .main對(duì)應(yīng)class=main)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#intro {
display: -webkit-flex; /* Safari */
display: flex;
justify-content: center;
}
.peo {
max-width: 10rem;
border-bottom: 0.2rem solid #000000;
font-family: sans-serif;
font-size: 1.5rem;
color: #0070C0;
line-height: 3rem;
}
</style>
</head>
<body>
<div id="intro">
<p class="peo">人物介紹</p>
</div>
<div id="pic1">
<div class="bord">
<img class="img" src="pic/Taylor.png"/>
<p class="word">Taylor</p>
</div>
<div class="bord">
<img class="img" src="pic/yan.png"/>
<p class="word">東</p>
</div>
<div class="bord">
<img class="img" src="pic/song.png"/>
<p class="word">喬</p>
</div>
</div>
</body>
</html>
運(yùn)行結(jié)果:
2)圖片部分是3個(gè)<div class=bord>橫向展示,所以要在框住它們的<div id=pic1>樣式中設(shè)置flex布局,在<style>里加入以下代碼:
#pic1 {
display: -webkit-flex; /* Safari */
display: flex;
justify-content: center;
}
運(yùn)行結(jié)果:
3)圖片之間靠太近,圖片大小不一致,文字沒(méi)居中,我們?cè)?lt;style>里加入以下代碼:
.bord{
padding: 1rem 2rem;
}
.img {
border: 0.2rem solid #e3e3e3;
max-width: 15rem;
height: 22rem;
}
.word {
text-align: center;
}
運(yùn)行結(jié)果:
今天我們學(xué)會(huì)了flex布局,今后所有的網(wǎng)頁(yè)排版都可以實(shí)現(xiàn)了,祝愿大家都有所收獲,完整的代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#intro {
display: -webkit-flex; /* Safari */
display: flex;
justify-content: center;
}
.peo {
max-width: 10rem;
border-bottom: 0.2rem solid #000000;
font-family: sans-serif;
font-size: 1.5rem;
color: #0070C0;
line-height: 3rem;
}
#pic1 {
display: -webkit-flex; /* Safari */
display: flex;
justify-content: center;
}
.bord{
padding: 1rem 2rem;
}
.img {
border: 0.2rem solid #e3e3e3;
max-width: 15rem;
height: 22rem;
}
.word {
text-align: center;
}
</style>
</head>
<body>
<div id="intro">
<p class="peo">人物介紹</p>
</div>
<div id="pic1">
<div class="bord">
<img class="img" src="pic/Taylor.png"/>
<p class="word">Taylor</p>
</div>
<div class="bord">
<img class="img" src="pic/yan.png"/>
<p class="word">東</p>
</div>
<div class="bord">
<img class="img" src="pic/song.png"/>
<p class="word">喬</p>
</div>
</div>
</body>
</html>
今天的知識(shí)比較基礎(chǔ)但非常實(shí)用,每天學(xué)會(huì)一個(gè)小技能,積少成多,以后就能成為大神。如果大家對(duì)網(wǎng)頁(yè)上的實(shí)現(xiàn)有什么不懂的,盡請(qǐng)留言,OF一定會(huì)一一解答的。
疊樣式表(Cascading Style Sheet,簡(jiǎn)稱:CSS)是為網(wǎng)頁(yè)添加樣式的代碼。本節(jié)將介紹 CSS 的基礎(chǔ)知識(shí),并解答類似問(wèn)題:怎樣將文本設(shè)置為黑色或紅色?怎樣將內(nèi)容顯示在屏幕的特定位置?怎樣用背景圖片或顏色來(lái)裝飾網(wǎng)頁(yè)?
和 HTML 類似,CSS 也不是真正的編程語(yǔ)言,甚至不是標(biāo)記語(yǔ)言。它是一門樣式表語(yǔ)言,這也就是說(shuō)人們可以用它來(lái)選擇性地為 HTML 元素添加樣式。舉例來(lái)說(shuō),要選擇一個(gè) HTML 頁(yè)面里所有的段落元素,然后將其中的文本改成紅色,可以這樣寫 CSS:
p {
color: red;
}
不妨試一下:首先新建一個(gè) styles 文件夾,在其中新建一個(gè) style.css 文件,將這三行 CSS 保存在這個(gè)新文件中。
然后再將該 CSS 文件連接至 HTML 文檔,否則 CSS 代碼不會(huì)對(duì) HTML 文檔在瀏覽器里的顯示效果有任何影響。(如果你沒(méi)有完成前幾節(jié)的實(shí)踐,請(qǐng)復(fù)習(xí)處理文件 和 HTML 基礎(chǔ)。在筆記本里有這個(gè)方面的內(nèi)容?。?/span>
1、打開(kāi) index.html 文件,然后將下面一行粘貼到文檔頭(也就是 <head> 和 </head> 標(biāo)簽之間)。
<link href="styles/style.css" rel="stylesheet">
2、保存 index.html 并用瀏覽器將其打開(kāi)。應(yīng)該看到以下頁(yè)面:
如果段落文字變紅,那么祝賀你,你已經(jīng)成功地邁出了 CSS 學(xué)習(xí)的第一步。
讓我們來(lái)仔細(xì)看一看上述CSS:
整個(gè)結(jié)構(gòu)稱為 規(guī)則集(通常簡(jiǎn)稱“規(guī)則”),各部分釋義如下:
注意其他重要的語(yǔ)法:
如果要同時(shí)修改多個(gè)屬性,只需要將它們用分號(hào)隔開(kāi),就像這樣:
p {
color: red;
width: 500px;
border: 1px solid black;
}
也可以選擇多種類型的元素并為它們添加一組相同的樣式。將不同的選擇器用逗號(hào)分開(kāi)。例如:
p, li, h1 {
color: red;
}
選擇器有許多不同的類型。上面只介紹了元素選擇器,用來(lái)選擇 HTML 文檔中給定的元素。但是選擇的操作可以更加具體。下面是一些常用的選擇器類型:
選擇器名稱 | 選擇的內(nèi)容 | 示例 |
元素選擇器(也稱作標(biāo)簽或類型選擇器) | 所有指定(該)類型的 HTML 元素 | p 選擇 <p> |
ID 選擇器 | 具有特定 ID 的元素(單一 HTML 頁(yè)面中,每個(gè) ID 只對(duì)應(yīng)一個(gè)元素,一個(gè)元素只對(duì)應(yīng)一個(gè) ID) | #my-id 選擇 <p id="my-id"> 或 <a id="my-id"> |
類選擇器 | 具有特定類的元素(單一頁(yè)面中,一個(gè)類可以有多個(gè)實(shí)例) | .my-class 選擇 <p class="my-class"> 和 <a class="my-class"> |
屬性選擇器 | 擁有特定屬性的元素 | img[src] 選擇 <img src="myimage.png"> 而不是 <img> |
偽(Pseudo)類選擇器 | 特定狀態(tài)下的特定元素(比如鼠標(biāo)指針懸停) | a:hover 僅在鼠標(biāo)指針懸停在鏈接上時(shí)選擇 <a>。 |
選擇器的種類遠(yuǎn)不止于此,更多信息請(qǐng)參閱 選擇器。
譯注:再一次說(shuō)明,中文字體文件較大,不適合直接用于 Web Font。
在探索了一些 CSS 基礎(chǔ)后,我們來(lái)把更多規(guī)則和信息添加至 style.css 中,從而讓示例更美觀。首先,讓字體和文本變得更漂亮。
第一步:找到之前Google Font 輸出的地址。并以<link>元素的形式添加進(jìn)index.html文檔頭(<head>和</head>之間的任意位置)。代碼如下:
<link href="https://fonts.font.im/css?family=Open+Sans" rel="stylesheet" type="text/css">
以上代碼為當(dāng)前網(wǎng)頁(yè)下載 Open Sans 字體,從而使自定義 CSS 中可以對(duì) HTML 元素應(yīng)用這個(gè)字體。
第二步:接下來(lái),刪除 style.css 文件中已有的規(guī)則。雖然測(cè)試是成功的了,但是紅字看起來(lái)并不太舒服。
第三步:將下列代碼添加到相應(yīng)的位置,用你在 Google Fonts 找到的字體替代 font-family 中的占位行。( font-family 意味著你想要你的文本使用的字體。)這條規(guī)則首先為整個(gè)頁(yè)面設(shè)定了一個(gè)全局字體和字號(hào)(因?yàn)?<html> 是整個(gè)頁(yè)面的父元素,而且它所有的子元素都會(huì)繼承相同的 font-size 和 font-family):
html {
/* px 表示 “像素(pixels)”: 基礎(chǔ)字號(hào)為 10 像素 */
font-size: 10px;
/* Google fonts 輸出的 CSS */
font-family: 'Open Sans', sans-serif;
}
注:CSS 文檔中所有位于 /* 和 */ 之間的內(nèi)容都是 CSS 注釋,它會(huì)被瀏覽器在渲染代碼時(shí)忽略。你可以在這里寫下對(duì)你現(xiàn)在要做的事情有幫助的筆記。
譯注:/*``*/ 不可嵌套,/*這樣的注釋是/*不行*/的*/。CSS 不接受 // 注釋。
接下來(lái)為文檔體內(nèi)的元素(<h1> (en-US)、<li>和<p>)設(shè)置字號(hào)。將標(biāo)題居中顯示,并為正文設(shè)置行高和字間距,從而提高頁(yè)面的可讀性。
h1 {
font-size: 60px;
text-align: center;
}
p, li {
font-size: 16px;
/* line-height 后而可以跟不同的參數(shù),如果是數(shù)字,就是當(dāng)前字體大小乘上數(shù)字 */
line-height: 2;
letter-spacing: 1px;
}
可以隨時(shí)調(diào)整這些 px 值來(lái)獲得滿意的結(jié)果,以下是大體效果:
編寫 CSS 時(shí)你會(huì)發(fā)現(xiàn),你的工作好像是圍繞著一個(gè)一個(gè)盒子展開(kāi)的——設(shè)置尺寸、顏色、位置,等等。頁(yè)面里大部分 HTML 元素都可以被看作若干層疊的盒子。
并不意外,CSS 布局主要就是基于盒模型的。每個(gè)占據(jù)頁(yè)面空間的塊都有這樣的屬性:
這里還使用了:
開(kāi)始在頁(yè)面中添加更多 CSS 吧!大膽將這些新規(guī)則都添加到頁(yè)面的底部,而不要糾結(jié)改變屬性值會(huì)帶來(lái)什么結(jié)果。
html{
background-color:#00539f;
}
這條規(guī)則將整個(gè)頁(yè)面的背景顏色設(shè)置為 所計(jì)劃的顏色。
body{
width:600px;
margin:0 auto;
background-color:#ff9500;
padding:0 20px 20px 20px;
border:5px solid black;
}
現(xiàn)在是 <body> 元素。以上條聲明,我們來(lái)逐條查看:
h1{
margin: 0;
padding:20px 0;
color: #00539f;
text-shadow:3px 3px 1px black
}
你可能發(fā)現(xiàn)頁(yè)面的頂部有一個(gè)難看的間隙,那是因?yàn)闉g覽器會(huì)在沒(méi)有任何 CSS 的情況下 給 <h1>en-US等元素設(shè)置一些默認(rèn)樣式。但這并不是個(gè)好主意,因?yàn)槲覀兿M粋€(gè)沒(méi)有任何樣式的網(wǎng)頁(yè)也有基本的可讀性。為了去掉那個(gè)間隙,我們通過(guò)設(shè)置margin: 0;來(lái)覆蓋默認(rèn)樣式。
至此,我們已經(jīng)把標(biāo)題的上下內(nèi)邊距設(shè)置為 20 像素,并且將標(biāo)題文本與 HTML 的背景顏色設(shè)為一致。
需要注意的是,這里使用了一個(gè) text-shadow 屬性,它可以為元素中的文本提供陰影。四個(gè)值含義如下:
不妨嘗試不同的值看看能得出什么結(jié)果。
img{
display:block;
margin:0 auto;
}
最后,我們把圖像居中來(lái)使頁(yè)面更美觀。可以復(fù)用 body 的margin: 0 auto,但是需要一點(diǎn)點(diǎn)調(diào)整。<body>元素是塊級(jí)元素,意味著它占據(jù)了頁(yè)面的空間并且能夠賦予外邊距和其他改變間距的值。而圖片是內(nèi)聯(lián)元素,不具備塊級(jí)元素的一些功能。所以為了使圖像有外邊距,我們必須使用display: block 給予其塊級(jí)行為。
注:以上說(shuō)明假定所選圖片小于頁(yè)面寬度(600 pixels)。更大的圖片會(huì)溢出 body 并占據(jù)頁(yè)面的其他位置。要解決這個(gè)問(wèn)題,可以:
1)使用 圖片編輯器 來(lái)減小圖片寬度; 2)用 CSS 限制圖片大小,即減小 <img> 元素 width 屬性的值(比如 400 px)。
注:如果你暫時(shí)不能理解 display: block 和塊級(jí)元素與行內(nèi)元素的差別也沒(méi)關(guān)系;隨著你對(duì) CSS 學(xué)習(xí)的深入,你將明白這個(gè)問(wèn)題。
如果你按部就班完成本文的實(shí)踐,那么最終可以得到以下頁(yè)面
相關(guān)推薦:
前端新手看過(guò)來(lái),手把手帶你輕松上手html的實(shí)操
網(wǎng)頁(yè)制作怎么弄:先確定網(wǎng)站風(fēng)格?!帮L(fēng)格”是抽象的,指訪問(wèn)者對(duì)網(wǎng)站整體形象的綜合感受。這個(gè)“整體形象”包括CI(徽標(biāo)、顏色、字體、口號(hào))、布局、瀏覽方法、交互性、文本、顏色、內(nèi)容價(jià)值和網(wǎng)站的許多其他因素。網(wǎng)站可以是平易近人的、活潑的,也可以是專業(yè)而嚴(yán)肅的。
設(shè)計(jì)網(wǎng)站標(biāo)語(yǔ)。也可以說(shuō),網(wǎng)站的精神、主題和中心,或者網(wǎng)站的目標(biāo),可以用一句話或一句話高度概括。使用有力的詞語(yǔ)或詞匯來(lái)總結(jié)網(wǎng)站并進(jìn)行外部宣傳,您可以收到更好的結(jié)果。
創(chuàng)意內(nèi)容選擇
好的內(nèi)容選擇需要好的創(chuàng)造力。作為一名網(wǎng)頁(yè)設(shè)計(jì)師,最麻煩的是沒(méi)有好的內(nèi)容創(chuàng)意。網(wǎng)絡(luò)上最具創(chuàng)意的想法來(lái)自虛擬與現(xiàn)實(shí)的結(jié)合。創(chuàng)意的目的是更好地宣傳和推廣網(wǎng)站。如果創(chuàng)意不錯(cuò),但對(duì)網(wǎng)站的發(fā)展毫無(wú)意義,那么網(wǎng)站設(shè)計(jì)者和制作人也應(yīng)該放棄這種創(chuàng)意。此外,主頁(yè)的內(nèi)容是網(wǎng)站的根。如果內(nèi)容是空的,無(wú)論頁(yè)面多么精致,用戶仍然很少?;旧?,網(wǎng)站內(nèi)容仍然控制著網(wǎng)站流量,內(nèi)容為王仍然是個(gè)人網(wǎng)站成功的關(guān)鍵。
Div css布局。這是專業(yè)生產(chǎn)的唯一方式。網(wǎng)絡(luò)元素依賴它來(lái)構(gòu)建基本框架,如百度空間、QQ空間皮膚等。
數(shù)據(jù)庫(kù)是動(dòng)態(tài)網(wǎng)頁(yè)的基礎(chǔ),如百度對(duì)問(wèn)題的回答,包括閱讀、書寫、修改和刪除數(shù)據(jù)庫(kù)。常見(jiàn)的數(shù)據(jù)庫(kù)包括mysql、mssql、access等。數(shù)據(jù)庫(kù)是所有軟件的基礎(chǔ)。80多個(gè)應(yīng)用程序涉及數(shù)據(jù)庫(kù)。至于網(wǎng)頁(yè)制作,不需要深入研究。
動(dòng)態(tài)語(yǔ)言,asp,php,jsp,。Net(c#等)。為了操作數(shù)據(jù)庫(kù),交互需要?jiǎng)討B(tài)語(yǔ)言?,F(xiàn)在許多動(dòng)態(tài)語(yǔ)言,如php,都有“框架”。用框架建造車站就像用預(yù)制房屋的一部分建造房屋一樣。所有這些都是你自己寫的,就像建造一座磚房一樣。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。