網頁基礎:網頁設計(我所知道的所有的html和css代碼(含H5和CSS3)),如有錯誤請批評指正

来源:https://www.cnblogs.com/zhangxianshen/archive/2018/12/10/10097622.html
-Advertisement-
Play Games

最基礎的網頁設計,就是給你一個圖片你做成一個網頁,當然,我的工作是C#,個人網頁的功底不是很高首先先認識一下網頁的一些相關知識: 一般的,現在一個html網頁一般包含html文件,css文件,js文件,img文件這幾個部分css文件,全名叫成疊樣式表稍後會說說,js呢,這個文章暫時先不說現在說說網頁 ...


最基礎的網頁設計,就是給你一個圖片你做成一個網頁,當然,我的工作是C#,個人網頁的功底不是很高
首先先認識一下網頁的一些相關知識:

一般的,現在一個html網頁一般包含html文件,css文件,js文件,img文件這幾個部分
css文件,全名叫成疊樣式表稍後會說說,js呢,這個文章暫時先不說
現在說說網頁
靜態網頁htm,html 最早的靜態網頁文本,目前也常見
非靜態網頁
asp 微軟的動態網頁文件
php php的文檔格式,參看www.php.net,常用,比asp流行
jsp sun公司的動態網頁文本,常用
shtml 動態頁面文件,較少
nsp 較少,使用java,一般是lotus伺服器
等等等等...
這篇文章呢,主要講的是html頁面
在網頁中呢,會有很多圖片,當然,並不是任何圖片都支持
HTML頁面中常用的有:bmp,gif,jpg,png。
BMP是一種與硬體設備無關的圖像文件格式,使用非常廣。它採用位映射存儲格式,除了圖像深度可選以外,不採用其他任何壓縮,因此,BMP文件所占用的空間很大
GIF 意為Graphics Interchange format(圖形交換格式),GIF圖片的擴展名是gif。現在所有的圖形瀏覽器都支持GIF格式,而且GIF格式支持背景透明。
JPEG 代表Joint Photograhic Experts Group(聯合圖像專家組)JPG最主要的優點是能支持上百萬種顏色,從而可以用來表現照片.
PNG 是20世紀90年代中期開始開發的圖像文件存儲格式,其目的是企圖替代GIF和TIFF文件格式
既然有圖片,就會有圖片的處理,下麵講述了一些Photoshop的一些快捷鍵
取消當前命令:Esc; 工具選項板:Enter; 選項板調整:Shift+Tab; 退出系統:Ctrl+Q; 獲取幫助:F1; 剪切選擇區:F2 / Ctrl+X; 拷貝選擇區:F3 / Ctrl+C; 粘貼選擇區:F4 / Ctrl+V; 顯示或關閉畫筆選項板:F5; 顯示或關閉顏色選項板:F6; 顯示或關閉圖層選項板:F7; 顯示或關閉信息選項板:F8; 顯示或關閉動作選項板:F9; 顯示或關閉選項板、狀態欄和工具箱:Tab; 全選:Ctrl+A; 反選:Shift+Ctrl+I; 取消選擇區:Ctrl+D; 選擇區域移動:方向鍵; 將圖層轉換為選擇區:Ctrl+單擊工作圖層; 選擇區域以10個像素為單位移動:Shift+方向鍵; 複製選擇區域:Alt+方向鍵; 填充為前景色:Alt+Delete; 填充為背景色:Ctrl+Delete; 調整色階工具:Ctrl+L; 調整色彩平衡:Ctrl+B; 調節色調/飽和度:Ctrl+U; 自由變形:Ctrl+T; 增大筆頭大小:“中括弧”; 減小筆頭大小:“中括弧”; 選擇最大筆頭:Shift+“中括弧”; 選擇最小筆頭:Shift+“中括弧”; 重覆使用濾鏡:Ctrl+F; 移至上一圖層:Ctrl+“中括弧”; 排至下一圖層:Ctrl+“中括弧”; 移至最前圖層:Shift+Ctrl+“中括弧”; 移至最底圖層:Shift+Ctrl+“中括弧”; 激活上一圖層:Alt+“中括弧”; 激活下一圖層:Alt+“中括弧”; 合併可見圖層:Shift+Ctrl+E; 放大視窗:Ctrl+“+”; 縮小視窗:Ctrl+“-”; 放大局部:Ctrl+空格鍵+滑鼠單擊; 縮小局部:Alt+空格鍵+滑鼠單擊; 翻屏查看:PageUp/PageDown; 顯示或隱藏標尺:Ctrl+R; 顯示或隱藏虛線:Ctrl+H; 顯示或隱藏網格:Ctrl+”。 打開文件:Ctrl+O; 關閉文件:Ctrl+W; 文件存檔:Ctrl+S; 列印文件:Ctrl+P; 恢復到上一步:Ctrl+Z;由鋼筆圖形轉換成選區: Ctrl+回車

好了,回到正題;
一.html簡介
HTML——
Hypertext markup language
超文本 標記 語言

文件的擴展名為.html或 .htm

首頁:index.html default.html 預設頁

HTML的基本語法
標記 /標簽(元素)
雙標簽 格式為:<標簽>內容</標簽>
<html></html>網頁 頁面根元素
<head></head> 頭部
<body></body> 主體
<p></p> 段落
<h1></h1> 標題
<table></table>表格。。。

單標簽 格式為:<標簽>
例如:<img> 圖片 <br>換行 <hr>水平線
一個最基本的網頁構造
<html>
<head>
<title>網頁名稱</title>
</head>
<body>
網頁主題
</body>
</html>
保存為html文件就可以以瀏覽器打開網頁了

一個html網頁的結構是html網頁,css層疊樣式表,js代碼,還有圖片
在一個文件夾目錄下創建這四個文件夾就可以說是一個站點
一般的,
<!DOCTYPE>[定義文檔類型]
位於文檔中的最前面的位置,告知瀏覽器文檔使用哪種HTML或XHTML規範




二.標題元素
一般的,在網頁中都會有標題元素 .標題的概念:標明文章、作品等內容的簡短語句.
一下是常用的標題元素
<h1>標題1</h1>
<h2>標題2</h2>
<h3>標題3</h3>
<h4>標題4</h4>
<h5>標題5</h5>
<h6>標題6</h6>
從1到6的標題元素出來的效果是從大到小, <h1></h1>是最大,<h6></h6>最小,自帶加粗效果
標題一般是劇中對齊的,對齊是align屬性,值Left,Center,Right(水平對齊方式),比如:<h1 align=“center”></h1>

段落標簽
<p></p> 預設存在段間距 ,一對標簽是一個段落
換行是單標簽<br />,在一些瀏覽器中,<br>也是可以解析的

到了這裡,我突然的想了起來,在網頁中,尖括弧,雙印號啊這些都是關鍵的網頁標記,那麼我們咋樣在網頁上顯示這些符號呢:
空格 &nbsp; 半形空格

小於號 < &lt; left
大於號 > &gt; right

雙引號” &quot;
版權符© &copy;
註冊符® &reg;

一些常用的標簽:
粗體<b></b>。 bold
在網頁中,比較重要的文本通過粗體方式顯示

傾斜<i></i>。 italic
下劃線<u></u>。 underline

強調<em></em>。
強調顯示文本內容,文字以斜體方式顯示

加強強調<strong></strong>。
強調的程度更強烈一些,加粗的字體

水平線標記<hr>,單標簽
color 顏色,
size 粗細
Width 寬度
align 對齊

圖片標簽:
圖像標記<img>
屬性:
src 圖片路徑
alt 提示文字
title 標題(滑鼠彈出框)
width/ height 寬高
border=“5” 邊框
所有標簽都有title屬性
比如<img src="1.jpg" alt="這是一個圖片">

這裡是一些概念
屬性:用來表示標簽的特征。
屬性值:為屬性賦的值稱為屬性值。
語法為:<標記 屬性="屬性值"> 內容</標記>

在插入圖片的路徑要選擇正確,下麵是路徑的一些知識
路徑分為絕對路徑和相對路徑:
絕對路徑:完整的描述文件位置
比如:C:/image/1.jpg
http://www.baidu.com
相對路徑:就是網頁相對於目標位置
站點內部相對路徑
../ 上一級
../../ 上上級

列表
無序列表ul
語法:
<ul type=“”>
<li>列表項</li>
<li>列表項</li>
<li>列表項</li>
</ul>
列表類型type
disc 實心圓
circle 空心圓
square 方塊
有序列表ol
語法:
<ol>
<li>列表項</li>
<li>列表項</li>
<li>列表項</li>
</ol>
列表類型type
1 1 2 3 4…
a a b c d…
A A B C D…
i i ii iii iv ..小寫羅馬字母
I I II III IV ..大寫羅馬字母
reversed 倒序
自定義列表dl
<dl>
<dt>定義項</dt>
<dd>描述項</dd>
<dd>描述項</dd>
</dl>

三.圖像和超鏈接
超級鏈接是一對一關係
格式:<a href=“url”>文字、圖片</a>
鏈接地址

給文字和圖片添加鏈接
<a href=“index.html”>首頁</a>
<a href=“index.html”><img src=“01.jpg”></a>

鏈接網站
<a href=“http://www.baidu.com”>百度</a

空鏈接:
<a href=“#”>首頁</a> 單擊後仍停留在當前頁

超鏈接地址可以是
網頁、 圖片、文字、壓縮包.rar zip 、應用程式.exe等任意文件

<a href=“鏈接地址url” target=“目標”></a>

target屬性值
_self 原視窗 本視窗 (預設)
_blank 新視窗
_top 頂框架
_parent 父框架

四.表格
格式:
表格table、 tr行、 td 列/單元格 內容
<table>
<tr>
<td>姓名</td>
<td>身高</td>
<td>體重</td>
</tr>
<tr>
<td>張三</td>
<td>175CM</td>
<td>70kg</td>
</tr>

</table>

table的屬性
Width、height 寬高(單位像素或百分比,預設不是100%)
align 對齊
border 外邊框
bgcolor 背景色
background 背景圖片

特有屬性
cellspacing 單元格間距 預設2像素
cellpadding 單元格邊距 (邊框與內容的間距)
設置tr基本屬性
屬性:
align 水平對齊
left/center/ right

valign 垂直對齊
top 頂部
middle 中部
bottom 底部

bgcolor 背景色
設置td的基本屬性
屬性:
Width、height 寬高(單位是像素或%)
align valign 水平對齊、垂直對齊
bgcolor 背景色
background 指定背景圖片
<td colspan=“3” 水平合併 合併列
rowspan=“2” 垂直跨度 合併行

合併必須是相鄰的單元格

水平跨度colspan
<table width="200" border="1" >
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
垂直跨度rowspan
<table width="200" border="1">
<tr>
<td rowspan="2">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
表頭th
特殊的單元格,加粗、居中

它的用法是取代<td>的位置即可
<tr>
<th>餐飲類型</th>
<th>主要菜系</th>
<th>價格</th>
</tr>


thead 表格頁眉 一個
tbody 表格主體
tfoot 表格頁腳 一個

對錶格的行進行分組,
註意:thead ,tfoot只有一個 tbody可以有多個

<table>
<thead><tr></tr>….</thead>
<tbody><tr></tr>….</tbody>
<tbody><tr></tr>….</tbody>
....
<tfoot> <tr></tr>…. </tfoot>
</table>

表格屬性:
1px細線表格
表格Table中
border=1
cellspacing=0
Bgcolor=邊框色

單元格td
Bgcolor=白/淺色
五.表單
結構:<form></form>
屬性:
Name 表單名字
action=“url” 提交地址
method 提交方式
get 獲取
Post 傳送
target 新視窗提交
輸入標簽
<input type=“#” name=“”>:
text 文本框
password 密碼框

radio 單選框
checkbox 覆選框

file 文件域

submit 提交按鈕
reset 重置按鈕

button 普通按鈕
image 圖像域按鈕

Hidden 隱藏域


文本框
<input type=“text” value=“請輸入姓名” >
輸入 類型 初始值
placeholder=字體變虛且可直接輸入
密碼框
屬性值:
type 表單對象類型
size 文字的長度

例如:
<input type="password“ />
單選框radio
屬性值:
name 文本欄位的名稱(不可缺少)
Checked 預設選中

<input type="radio“ name=“sex" checked>男
<input type="radio" name=“sex" />女

單選同一組可以設置不同名稱 錯誤
單選同一組不可以設置不同名稱 對
覆選框checkbox
屬性值:
type 表單對象類型
Checked 預設選中

例如:
<input type=“checkbox” checked>上網
<input type=“checkbox ” >學習
<input type=“checkbox ” >旅游
文件域 file

例如:
<input type="file" >
下拉菜單

<select>
<option>請選擇您的學歷</option>
<option selected> 高中</option>
預設選中 不是checked
。。。
</select>
Select標簽的屬性
Multiple 多選

<select multiple>
<option>上網</option>
<option>體育</option>
<option>學習</option>
</select>
文本域 textarea(多行文本框)
屬性值:
cols 列數
rows 行數

例如:
<textarea cols=“40” rows=“5”></textarea>
列數 行數
四種按鈕
提交、重置
<input type="submit" value="提交" />
<input type="reset" value="重置" />

普通按鈕
<input type=“button ” value=“確定" />
<input type=“image” src=“1.jpg” />圖像域
Label標簽
有觸發對應表單控制項功能。如點擊單選按鈕或多選框前文字,對應選項就能被選中
表單控制項id的值與label標簽內的for值相同

性別:
<input type="radio" name="sex" id=“man"/>
<label for=“man">男</label>
<input type="radio" name="sex" id=“women"/>
<label for=“woman">女</label>
六.一些簡單的CSS
結構+表現+行為
Html+ css +js

傳統html的缺點
標記較少,缺少文字間距,段落縮進等標記,美化困難
維護困難,修改過程繁瑣。
網頁代碼過多,影響網頁瀏覽速度

Css作用例子:鏈接樣式表
Css(cascading style sheet)層疊樣式表

用於控制網頁的外觀

CSS優點
使網頁代碼更少,網頁下載更快
實現了內容與樣式的分離
使網站維護更方便、快捷
使網頁與瀏覽器的相容性更好

註釋
html <!-- -->
css /* */
CSS的基本語法
張飛{
身高:185cm;
體重:80kg;
性別:男;
}


css的基本語法:
選擇器{
屬性:屬性值;
…}
三部分組成
css選擇器:也稱為選擇符,用於選擇需要添加樣式的元素。
基本CSS選擇器
全局選擇器(通用)

用*來表示,代表所有標簽

一般用於將所有元素的外邊距和內填充清除。
*{
margin:0; 外邊距
padding:0; 內填充
}

基本CSS選擇器
標簽選擇器(元素選擇器)--通過元素名選擇元素
如:body{}, ul{}, a{},img{} h2{} p{}等

類別選擇器--通過class屬性選擇元素
先定義樣式 css:
.blue {color:blue;}

然後引用:
<p class=“blue”>文字內容</p>

ID選擇器
先定義樣式:
#ab001{color:#ff0000;}
然後引用:
<p id=“ab001”>文字內容</p>

用法和class類似,但一個ID選擇器只能選定一個元素
偽類選擇器——作用在超鏈接的狀態上
a:link{} 點擊前 預設
a:visited{} 點擊後
a:hover{} 放上去 滑鼠滑過
a:active{} 按下去 點擊瞬間
a:focus{} 獲取焦點

書寫時,要按照以上順序,不可顛倒
行內樣式
寫在標簽里,使用style屬性,優先順序最高
例如:
<p style=“color:#FF0000; font-size:20px;。。”> </p>

css常用的幾種方式
內部樣式(內嵌)
放於<head></head>之間,用<style>和</style>標記進行聲明

<head>
<style>
p{
color:#0000FF;
font-size:25px;
}
</style>
</head>

<body>
<p>這是第1行正文內容……</p>
</body>
鏈接樣式(外部樣式)
html文件和css文件分開,是最實用的方法。
結構 樣式 分離

<head>
<title>頁面標題</title>
<link href="07-07.css" rel="stylesheet” type="text/css" />
關聯 樣式表 類型
</head>
<body>
<h2>CSS標題</h2>
<p>這是正文內容……</p>
</body>
導入樣式
作用和鏈接樣式表基本相同。
Html中和css文件中都可導入樣式表
<head>
<style type="text/css">
<!--
@import url(“cuihua.css”);
-->
</style>
</head>
css權重 優先順序 
全局 0
標簽 1
類別 10
id 100
行內 1000
七.CSS設置文本和背景

文字屬性
Color 顏色

font-size:12px; 14px 字型大小

字體
font-family: 楷體,宋體;
多個字體用逗號分隔
優先使用第一個字體 楷體

加粗
font-weight
100-900
bold 、bolder 加粗
normal 正常 去掉標題h1-h6的加粗

傾斜
font-style
italic 斜體
normal 正常 <i></i> <em></em>
段落屬性
text-decoration 文字裝飾
Overline 上劃線
Line-through 刪除線
Underline 下劃線
none 無 去掉超鏈接下劃線


text-align 水平對齊
Left center right
text-indent 首行縮進
像素: 24px
百分比 50%
2個字 2em
負值 -100px

Line-height 行高 行距
行高=高度 可以讓文字垂直居中
數值 :24px
百分比:200%
背景
Background-color:#f00; 背景顏色

Background-image:url(01.jpg) 背景圖片

Background-repeat 背景重覆
Repeat(預設) 平鋪
no-repeat 不重覆
repeat-x 橫向重覆
repeat-y 豎向重覆
背景位置
Background-position
關鍵字
水平:left center right
垂直:top center bottom
background-position:right top;

數字 background-position:200px 100px;
水平 垂直
可混用
background-position: 50px top;

一個值,第二個預設center
background-position: left (center);

背景附件
background-attachment:fixed 固定

不隨滾動條移動
背景複合屬性

background:#ccc url(1.gif) no-repeat 100px 200px ;
顏色 圖片地址 重覆 位置


列表樣式
list-style-type:disc; 實心圓
circle 空心圓
square 方塊
decimal 數字
none 無
想要樣式表現出來,必須將margin:0;padding:;刪除

列表圖片
list-style-image:url(1.jpg);

列表位置
list-style-position:inside/outside;
內部 外部

列表複合
list-style:none或circle url(1.jpg) inside

八.盒模型
<div></div> division
相當於一個容器可以容納:
段落、標題、表格、圖片等
盒模型-頁面所有元素都能看成盒子
一個盒子實際占據的寬度和高度由內容+填充+邊框+邊距組成
即 content+padding+border+margin
內容+ 填充+ 邊框+ 邊距

尺寸屬性——盒子模型中指內容的大小
Width 寬
Height 高
backgiound 背景

內填充padding
padding-top:30px;
padding-bottom:60px;
padding-left:40px;
padding-right:20px;
padding:30px 20px 60px 40px;
上 右 下 左
簡寫:
Padding:10px; 四邊相同10px
Padding:0 10px; 上下 左右
Padding:10px 20px 30px; 上 左右 下
Padding:10px 20px 30px 40px; 上 右 下 左
邊框border
Border-width:10px ; 邊框寬度
Border-color:#f00; 邊框顏色
Border-style: 邊框樣式
solid 實線
dashed 虛線
dotted 點線

複合屬性—不可三缺一
四邊:border:10px #f00 solid;
底邊 border-bottom:1px green dashed;
border-left:none;去掉
填充Padding 邊框與內容的距離
邊距margin 內容與內容的距離
margin -top
margin -right
margin -bottom
margin-left:10px; 當前元素向右移動

簡寫:
margin:10px;
margin :0 10px; 上下 左右
margin :10px 20px 30px; 上 左右 下
margin :10px 20px 30px 40px; 上 右 下 左
一個盒子實際占據的寬度和高度由內容+內邊距+邊框+外邊距組成
div{width:200px; padding:0 20px;} 200+20*2=240

一個盒子的 margin 為 22px,border 為 1px,padding 為 12px,content 的寬為 220px、高為 50px,如果用標準 W3C 盒子模型解釋,這個盒子的寬???
282px 錯誤:

佈局屬性
float浮動-- 橫向排列
none 預設
Left 左
Right 右

clear清除浮動--元素浮動之後,需要清除浮動
None
Left
Right
both 全部
塊級元素 獨占一行 自動換行
div h1—h6 p ul/li form。。

行內元素(內聯) 不獨占一行 不自動換行
a span img b i font input ..
塊級元素:自動換行,
有寬度和高
能嵌套行內元素
<div><a></a></div> <li><a></a></li> <p><span></span></p>
預設的顯示是display:block;

行內元素:不自動換行,
沒有寬和高 a span
不能嵌套塊級元素 <a><span></span></a>
預設的顯示是display:inline;
display 顯示屬性:
block 塊狀顯示
inline 行內顯示
inline-block 行內塊
none 不顯示
九.CSS新屬性:
盒子陰影
box-shadow: 2px 2px 5px 2px #f00 inset;
h-shadow 水平偏移,可為負值
v-shadow 垂直偏移 可為負值
blur 模糊值
陰影外延值 可為負值
color 顏色值
inset: 內陰影。預設外陰影

添加多個陰影逗號分隔
文字陰影
text-shadow: 2px 2px 5px #f00;
水平 垂直 模糊 顏色

如顏色省略,陰影顏色為文字顏色
文字溢出
text-overflow: ;
clip :裁切,預設值
ellipsis 省略號(...)

white-space:nowrap;(強制不換行)
overflow:hidden;(溢出隱藏)
text-overflow:ellipsis;
邊框圓角
border-radius: ;
1個值 5px 四個角相同
2個值 5px 10px
左上與右下 右上與左下
3個值 5px 10px 15px
左上 右上與左下 右下
4個值 5px 10px 15px 20px
左上 右上 右下 左下

單獨一個角 左上 border-top-left-radius:30px;
盒模型模式
box-sizing: ;
指定盒子寬度高度是否包含元素的padding和border
content-box 不包括padding,寬高是內容大小。

border-box 包括padding 寬高是實際大小
漸變背景
Background:-webkit-linear-gradient(top, orange, black);
線性漸變 方向 起點色 終點色
方向可為top 、bottom 、 left、 right

相容firefox
-moz-linear-gradient(top , red, yellow);
相容chrome
-webkit-linear-gradient(top , red, yellow);

放射性漸變
radial-gradient(起點色,終點色);
十.H5
新增的主體結構元素
新增元素 元素說明
article 文章
section 區塊 對於網站的內容進行分塊。通常由內容及標題組成
nav 導航 一個頁面可有多個nav元素,作為頁面整體或不同部分的導航
aside 側欄 頁面的附屬信息部分,最典型的是側邊欄,內容可是友情鏈接,其他文章列表,廣告單元等
time 時間 time為行內元素



hgroup元素 標題組
用於對網頁的標題進行編組:

<hgroup>
<h1>百度網</h1>
<h2>全球最大中文搜索引擎</h2>
。。。
</hgroup>


新增的非主體結構元素

新增元素 說明
header 頭部 一個網頁可擁有多個header元素,可為每個內容 區塊加一個header
main 主體(唯一) <main> 元素中的內容對於文檔來說應當是唯一的。<main> 元素不能是以下元素的後代:<article>、<aside>、<footer>、<header> 或 <nav>。
footer 頁腳
address 文檔或作者的信息 用來在文檔中呈現聯繫信息,包括文檔作者,電話等。預設傾斜,塊元素

audio音頻
<audio src=”someaudio.wav”>audio元素</audio>
video視頻
<video src=”movie.ogg” controls=”controls”>
VIDEO元素
</video>


embed 多媒體

插入各種多媒體,格式可以是圖片,音頻,視頻,插件等

<embed src=”horse.wav”><embed>


十一.定位

定位position
static 靜態定位 預設
relative 相對定位
absolute 絕對定位
fixed 固定定位(不隨滾動條移動)
inherit 繼承
相對定位relative
相對於自己原來位置偏移
指定偏移量:
水平left right
垂直top bottom

絕對定位absolute
相對於父元素位置偏移
指定偏移量:left right top bottom,負值
子絕父相
<div id=“father”>
<div id=“son”></div>
</div>


#father{
position:relative;相對
}
#son{
position:absolute; 絕對
right:100px;
top:100px;}
#father{
width:300px;
height:300px;
background:#FF0000;
}
#son{
width:200px;
height:200px;
background:#99FF00;
position:absolute;
right:100px;
top:100px;
}


z-index
用於設置絕對定位元素,層疊順序

z-index
用於設置絕對定位元素,層疊順序
可以為正值 或 負值, 預設值auto,預設層0層
100 -5


十二.瀏覽器表現標準規範及CSS優先順序
瀏覽器
Internet Explorer 7 8 9 10,
Mozilla Firefox 火狐 FF
chrome 谷歌等

瀏覽器相容性問題:
各大主流瀏覽器由於廠家不同,所以核心構架和代碼也不同
瀏覽器對CSS的解析不一樣,需要針對不同瀏覽器寫不同的CSS,能夠同時相容不同的瀏覽器

(2)IE和FF瀏覽器的預設值差別:
頁邊距 IE為10px FF為8px
Body預設文字大小:IE為14px FF為16px

列表 左縮進40px

解決辦法:*{ margin:0; padding:0;}


瀏覽器預設段間距:FF預設為1.12em IE為10px

在很多情況下,需要專門針對IE不同版本寫css樣式,IE的css hack,
所有瀏覽器通用:
火狐 height:200px;

IE6專用:_height:100px;
IE7專用:*height:100px;
IE7+的瀏覽器標準規範

\9----------IE 6 7 8 9 10生效

\0----------IE 8 9 10生效

Height:100px\9;

css優先順序
!important
行內 1000
Id 100
類 10
標簽 1
通用 0
派生選擇器
.header img
p strong
.nav li

群組選擇器
H1 , h2, h3, h4{}
Ul , ol , li{}

IE6.0瀏覽器問題
IE6下圖片有空隙,怎麼解決
img{display:block;}
div{font-size:0;}
img{margin-bottom:-5px;}

IE6雙倍浮動邊距,怎麼解決
display:inline;
margin-left:100px; _margin-left:50px;減半

IE6 下1px高度容器
overflow:hidden;

line-height:1px; zoom:0.08; 縮放

讓div在頁面居中
div{position:absolute;
left:50%;
margin-left:-寬度一半;
top:50%;
margin-top:-高度一半;}
如:Div{
width:500px;
height:400px;
left:50%;
margin-left:-250px;
top:50%;
margin-top:-200px;
}
十三.CSS3新增選擇器
偽類選擇器
:first-child 第一個子元素
li:first-child{}
:last-child 最後一個子元素
dl:last-child {margin-right:0;}
nth-child(n) 指定序號的子元素
li:nth-child(2) {}
偽類選擇器
:nth-child(3n) 索引是3的倍數的元素
:nth-child(even) 索引是偶數的元素
:nth-child(odd) 索引是奇數的元素
tr:nth-child(odd) {background:#eaeaea;}
:checked 選中狀態
指定表單中radio單選框或checkbox覆選框被選中時的樣式。
<input type="radio" checked>男
<input type="checkbox" checked>上網

input[type="radio"]:checked
{outline:2px red solid;}
input[type="checkbox"]:checked
{outline:2px blue solid;}
::selection 元素被選中時的狀態

p::selection{color:#f00;}
可以設置color 、 background-color 、text-shadow
不可設置border

:disabled 元素處於不可用狀態時的樣式
:enabled 元素處於可用狀態時的樣式

<input type="text" value="可用狀態" >
<input type="text" value="禁用狀態" disabled >

input[type="text"]:enabled{background:#fff;color:#000;}
input[type="text"]:disabled{background:#eee;color:#ccc;}
屬性選擇器
E[att="val"] 選擇具有att屬性且屬性值等於val的元素
元素[屬性=“屬性值”]
Input[type=“text”] {}
input[type="text"]{width:210px;height:24px;float:left;}

E[att*="val"]
具有att屬性且屬性值val包含字元串的E元素

<li class="abc">列表項目</li>
<li class="acb">列表項目</li>
<li class="bc">列表項目</li>
<li class="bca">列表項目</li>
li[class*=“a”]{color:#f00;} 包含
E[att^="val"]
具有att屬性且屬性值為以val開頭的字元串的E元素

<li class="abc">列表項目</li>
<li class="acb">列表項目</li>
<li class="bac">列表項目</li>
<li class="bca">列表項目</li>
<li class="cab">列表項目</li>
<li class="cba">列表項目</li>

li[class^=“a”]{color:#f00;} 開頭

E[att$="val"]
具有att屬性且屬性值為以val結尾的字元串的E元素

<li class="abc">列表項目</li>
<li class="acb">列表項目</li>
<li class="bac">列表項目</li>
<li class="bca">列表項目</li>
<li class="cab">列表項目</li>
<li class="cba">列表項目</li>

li[class$=“a”]{color:#f00;} 結尾

E[att~="val"]
具有att屬性且屬性值為用空格分隔,其中一個等於val的元素

<li class="txt red">列表項目</li>
<li class="txt">列表項目</li>
<li class="txt blue">列表項目</li>
<li class="txt red">列表項目</li>

li[class~="red"]{color:#f00;}

十四.彈性盒模型
1.viewport 設置網頁代碼適應設備寬度

在頭部添加如下代碼:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

display:box; 盒佈局 為父元素設置
flex 盒佈局 新版本

display:-webkit-box;谷歌瀏覽器
display:-moz-box; 火狐瀏覽器
display:-ms-box; ie瀏覽器

display:box;
-webkit-box-orient 子元素排列方式 為父元素設置
horizontal:水平排列 預設
vertical: 縱向排列
-webkit-box-flex 為子元素設置
子元素如何分配其父元素剩餘空間的比例

.one{box-flex:2;}
.two{box-flex:1;}
.three{box-flex:1;}
box-ordinal-group
設置彈性盒模型對象的子元素的顯示順序。
數值較低的元素顯示在數值較高的元素前面;
相同數值的元素,它們的顯示順序取決於它們的代碼順序


對齊方式box-pack
start: 從開始位置對齊
center:居中對齊
end: 從結束位置對齊

對齊方式box-align
start: 從開始位置對齊
center:居中對齊
end: 從結束位置對齊
對齊
水平排列
box-pack 水平
box-align 垂直

垂直排列
box-pack 垂直
box-align 水平


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 無法使用Django新建項目:'django-admin.py’不是內部或外部命令找到site-packages/django/bin(如 D:\Program Files\Anaconda3\Lib\site-packages\django\bin),把這個路徑加入系統環境變數中。 error: ...
  • 本身打算把二十三種設計模式,總結一下。總結了幾個設計模式後發現已經有博主總結的非常詳細,內容豐富,我看了後也是受益良多。大家可以參考他的博客,地址如下: https://www.cnblogs.com/abcdwxc/archive/2007/10/30/942834.html 如果看了有幫助,就為 ...
  • 概述:輸錯三次禁止登陸,15分鐘後才能繼續。圖示:Form1代碼:using System;using System.Configuration;using System.Data.SqlClient;using System.Windows.Forms;namespace 登錄驗證項目{ publ... ...
  • 一、準備 這裡涉及到三個文件,現在只是簡單的把代碼貼出來,後面再詳細的講一下。 三個文件分別是(都是wcf服務應用程式項目下的): 1、IService1.cs 2、Service1.svc 3、Web.config wcf的契約文件:IService1.cs 1 using System; 2 u ...
  • 1. 在微信開放平臺註冊開發者賬號,並有一個審核已通過的網站應用,並獲得相對應的AppID和AppSecret,申請通過登陸後,方可開始接入流程。 2.微信OAuth2.0授權登錄目前支持authorization_code模式,適用於擁有server端的應用授權。該模式整體流程為: 3.實現代碼如 ...
  • 一、單例模式是什麼? 定義:確保一個類僅僅能產生一個實例,並且提供一個全局訪問點來獲取該實例。 二、單例模式怎麼用? 1 class SingleCase 2 { 3 public string Name{get;set;} 4 public static SingleCase mySingle = ...
  • 例:字元串 string str="2,3,5,7,9," 去掉最後一個逗號 ","; 常用的方法: 1.SubString()方法 str=str.SubString(0,str.Length - 1); 2.Remove()方法 str=str.Remove(str.Length-1,1); 3 ...
  • 1.打開visual Studio 2. 通過菜單Edit -->Find and Replace -->Replace In File ,或者使用 ctrl + Shift + H 打開在文件中查找對話框,如下: Find What: 填寫查找語句的地方,可以是入任何查找關鍵字,也可以是正則表達式 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...