網頁基礎:網頁設計(我所知道的所有的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
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...