起之前工作面試時,面試官問的一個問題:行內元素有哪些,和塊級元素有什么區別?這是一道蠻基礎的面試題,但是很多初學者平時只注重標簽語義,忽視了標簽行內和塊級的特性, 因此對于上述問題很有可能答不上來或者答不全。
HTML常見的行內元素有:
<span>、<a>、 <img>、 <input>、<textarea>、<select>、<label>
還有包括一些文本元素如:<br> 、<b>、 <strong>、<sup> 、<sub>、 <i> 、<em> 、<del> 、 <u>等。
要是只回答<span>和<img>那就說不過去了吧。
HTML常見的塊級元素有:
<div>、<table>、<form>、<p>、<ul>、
<h1>......<h6>、<hr> 、<pre>、<address>、<center>、<marquee> 、<blockquote> 等。
要是只回答<div>那就說不過去了吧。
那它們之間的區別是什么呢?
·塊級元素
1.總是從新的一行開始,即各個塊級元素獨占一行,默認垂直向下排列;
2.高度、寬度、margin及padding都是可控的,設置有效,有邊距效果;
3.寬度沒有設置時,默認為100%;
4.塊級元素中可以包含塊級元素和行內元素。
·行內元素
1.和其他元素都在一行,即行內元素和其他行內元素都會在一條水平線上排列;
2.高度、寬度是不可控的,設置無效,由內容決定。
設置margin左右有效,有邊距效果;
設置margin上下會撐大空間但是不會產生邊距效果(即盒模型margin-top/bottom有值,但頁面上沒有邊距效果)。
設置padding左右有效,設置padding上下會撐大空間但是不會產生邊距效果(同上)。
padding效果如下展示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<style>
span{
border:1px solid red;
padding:10px;
}
div{
border:1px solid blue;
}
</style>
<body>
<div>塊級元素</div>
<span> 行內元素</span>
<span> 行內元素</span>
<div>塊級元素</div>
</body>
</html>
3.根據標簽語義化的理念,行內元素最好只包含行內元素,不包含塊級元素。
轉換
當然塊級元素與行內元素之間的特性是可以相互轉換的。HTML可以將元素分為行內元素、塊狀元素和行內塊狀元素三種。
使用display屬性能夠將三者任意轉換:
(1)display:inline;轉換為行內元素;
(2)display:block;轉換為塊狀元素;
(3)display:inline-block;轉換為行內塊狀元素。
行內塊狀元素綜合了行內元素和塊狀元素的特性:
(1)不自動換行,與其他行內元素都會在一條水平線上排列;
(2)高度、寬度、margin及padding都是可控的,設置有效,有邊距效果;
(3)默認排列方式為從左到右。
第01階段.前端基礎
今天我們圍繞一個 導航欄案例進行學習知識點。
今日重點:
目標
為什么要學習css復合選擇器
CSS選擇器分為 基礎選擇器 和 復合選擇器 ,但是基礎選擇器不能滿足我們實際開發中,快速高效的選擇標簽。
父級 子級{屬性:屬性值;屬性:屬性值;}
.class h3{color:red;font-size:16px;}
.class>h3{color:red;font-size:14px;}
一句話說出他們
這里的子 指的是 親兒子 不包含孫子 重孫子之類。
白話:
比如: .demo > h3 {color: red;} 說明 h3 一定是demo 親兒子。 demo 元素包含著h3。
記憶技巧:
交集選擇器 是 并且的意思。 即...又...的意思
比如: p.one 選擇的是: 類名為 .one 的 段落標簽。
用的相對來說比較少,不太建議使用。
比如 .one, p , #test {color: #F00;}
表示 .one 和 p 和 #test 這三個選擇器都會執行顏色為紅色。
通常用于集體聲明。
偽類選擇器:
為了和我們剛才學的類選擇器相區別 類選擇器是一個點 比如 .demo {} 而我們的偽類 用 2個點 就是 冒號 比如 :link{} 偽娘
作用:
用于向某些選擇器添加特殊的效果。比如給鏈接添加特殊效果, 比如可以選擇 第1個,第n個元素。
因為偽類選擇器很多,比如鏈接偽類,結構偽類等等。我們這里先給大家講解鏈接偽類選擇器。
注意
a { /* a是標簽選擇器 所有的鏈接 */
font-weight: 700;
font-size: 16px;
color: gray;
}
a:hover { /* :hover 是鏈接偽類選擇器 鼠標經過 */
color: red; /* 鼠標經過的時候,由原來的 灰色 變成了紅色 */
}
選擇器 | 作用 | 特征 | 使用情況 | 隔開符號及用法 |
后代選擇器 | 用來選擇元素后代 | 是選擇所有的子孫后代 | 較多 | 符號是空格 .nav a |
子代選擇器 | 選擇 最近一級元素 | 只選親兒子 | 較少 | 符號是> .nav>p |
交集選擇器 | 選擇兩個標簽交集的部分 | 既是 又是 | 較少 | 沒有符號 p.one |
并集選擇器 | 選擇某些相同樣式的選擇器 | 可以用于集體聲明 | 較多 | 符號是逗號 .nav, .header |
鏈接偽類選擇器 | 給鏈接更改狀態 | 較多 | 重點記住 a{} 和 a:hover 實際開發的寫法 |
目標:
常見的塊元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>標簽是最典型的塊元素。
(1)比較霸道,自己獨占一行
(2)高度,寬度、外邊距以及內邊距都可以控制。
(3)寬度默認是容器(父級寬度)的100%
(4)是一個容器及盒子,里面可以放行內或者塊級元素。
常見的行內元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>標簽最典型的行內元素。有的地方也成內聯元素
(1)相鄰行內元素在一行上,一行可以顯示多個。
(2)高、寬直接設置是無效的。
(3)默認寬度就是它本身內容的寬度。
(4)行內元素只能容納文本或則其他行內元素。
注意:
在行內元素中有幾個特殊的標簽——<img />、<input />、<td>,可以對它們設置寬高和對齊屬性,有些資料可能會稱它們為行內塊元素。
元素模式 | 元素排列 | 設置樣式 | 默認寬度 | 包含 |
塊級元素 | 一行只能放一個塊級元素 | 可以設置寬度高度 | 容器的100% | 容器級可以包含任何標簽 |
行內元素 | 一行可以放多個行內元素 | 不可以直接設置寬度高度 | 它本身內容的寬度 | 容納文本或則其他行內元素 |
行內塊元素 | 一行放多個行內塊元素 | 可以設置寬度和高度 | 它本身內容的寬度 |
此階段,我們只需關心這三個,其他的是我們后面的工作。
目標
行高的測量方法:
行高我們利用最多的一個地方是: 可以讓單行文本在盒子中垂直居中對齊。
文字的行高等于盒子的高度。
這里情況些許復雜,開始學習,我們可以先從簡單地方入手學會。
行高 = 上距離 + 內容高度 + 下距離
上距離和下距離總是相等的,因此文字看上去是垂直居中的。
行高和高度的三種關系
目標
background-image : none | url (url)
參數 | 作用 |
none | 無背景圖(默認的) |
url | 使用絕對或相對地址指定背景圖像 |
background-image : url(images/demo.png);
background-repeat : repeat | no-repeat | repeat-x | repeat-y
參數 | 作用 |
repeat | 背景圖像在縱向和橫向上平鋪(默認的) |
no-repeat | 背景圖像不平鋪 |
repeat-x | 背景圖像在橫向上平鋪 |
repeat-y | 背景圖像在縱向平鋪 |
background-position : length || length
background-position : position || position
參數 | 值 |
length | 百分數 | 由浮點數字和單位標識符組成的長度值 |
position | top | center | bottom | left | center | right 方位名詞 |
實際工作用的最多的,就是背景圖片居中對齊了。
/*以下說明 x 10像素 y 垂直居中的*/
/*background-position: 10px center;*/
參數 | 作用 |
scroll | 背景圖像是隨對象內容滾動 |
fixed | 背景圖像固定 |
background: transparent url(image.jpg) repeat-y scroll center top ;
案例:
導航欄案例
background: rgba(0, 0, 0, 0.3);
屬性 | 作用 | 值 |
background-color | 背景顏色 | 預定義的顏色值/十六進制/RGB代碼 |
background-image | 背景圖片 | url(圖片路徑) |
background-repeat | 是否平鋪 | repeat/no-repeat/repeat-x/repeat-y |
background-position | 背景位置 | length/position 分別是x 和 y坐標, 切記 如果有 精確數值單位,則必須按照先X 后Y 的寫法 |
background-attachment | 背景固定還是滾動 | scroll/fixed |
背景簡寫 | 更簡單 | 背景顏色 背景圖片地址 背景平鋪 背景滾動 背景位置; 他們沒有順序 |
背景透明 | 讓盒子半透明 | background: rgba(0,0,0,0.3); 后面必須是 4個值 |
目標:
CSS層疊性最后的執行口訣: 長江后浪推前浪,前浪死在沙灘上。
簡單的理解就是: 子承父業。
關于CSS權重,我們需要一套計算公式來去計算,這個就是 CSS Specificity(特殊性)
標簽選擇器 | 計算權重公式 |
繼承或者 * | 0,0,0,0 |
每個元素(標簽選擇器) | 0,0,0,1 |
每個類,偽類 | 0,0,1,0 |
每個ID | 0,1,0,0 |
每個行內樣式 style="" | 1,0,0,0 |
每個!important 重要的 | ∞ 無窮大 |
我們經常用交集選擇器,后代選擇器等,是有多個基礎選擇器組合而成,那么此時,就會出現權重疊加。
就是一個簡單的加法計算
這個不難,但是忽略很容易繞暈。其實,我們修改樣式,一定要看該標簽有沒有被選中。
1) 如果選中了,那么以上面的公式來計權重。誰大聽誰的。 2) 如果沒有選中,那么權重是0,因為繼承的權重為0.
CSS注釋規則:
/* 需要注釋的內容 */ 進行注釋的,即在需要注釋的內容前使用 "/*" 標記開始注釋,在內容的結尾使用 "*/"結束。
例如:
p {
/* 所有的字體是14像素大小*/
font-size: 14px;
}
HTML5實現分片上傳GB級大文件組件,用HTML實現分片上傳GB級大文件組件,用javascript實現分片上傳GB級大文件組件,用js實現分片上傳GB級大文件組件,用vue2實現分片上傳GB級大文件組件,用vue3實現分片上傳GB級大文件組件,用HTML5實現分片上傳1GB級大文件組件,用HTML5實現分片上傳5GB級大文件組件,用HTML5實現分片上傳10GB級大文件組件,用HTML5實現分片上傳50GB級大文件組件,用HTML5實現分片上傳100GB級大文件組件,用HTML5實現分塊上傳GB級大文件組件,用HTML5實現分段上傳GB級大文件組件,用HTML5實現分割上傳GB級大文件組件,用HTML5實現切割上傳GB級大文件組件,用HTML5實現分片上傳GB級大文件控件,用HTML5實現分片上傳GB級大文件技術,用HTML5實現分片上傳GB級大文件方案,用HTML5實現分片上傳GB級大文件教程,
1.下載示例
https://gitee.com/xproer/up6-vue-cli
將up6組件復制到項目中
示例中已經包含此目錄
1.引入up6組件
2.配置接口地址
接口地址分別對應:文件初始化,文件數據上傳,文件進度,文件上傳完畢,文件刪除,文件夾初始化,文件夾刪除,文件列表
參考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de
3.處理事件
啟動測試
啟動成功
效果
數據庫
*請認真填寫需求信息,我們會在24小時內與您取得聯系。