## 白光劃過效果
這一節來介紹白光劃過效果!
當鼠標移動到圖片上時,有一道貌似白光的東東從圖片上劃過去。

**1、創建模板**
我們要放置一張圖片,用一個div包裹起來:
```
<div class="highlight-box">
<img src="images/example.jpg" alt="" />
</div>
```
**2、設置CSS樣式**
定義初始樣式(高寬可調整):
```
.highlight-box {
width: 300px;
height: 120px;
overflow: hidden;
position: relative;
}
.highlight-box img {
width: 100%;
height: 100%;
}
```
注意:包裹圖片的div(也就是類名為`.higlight-box`的div)一定要加上定位屬性position,不加的結果是神馬呢?你試試吧。
靜態圖片已經有了,接著讓我們來制作白光,我們不需多余的元素,只需使用`:before`選擇器:
```
.highlight-box:before {
display: block;
/*注意這里top和left,讓白光移動到圖片左上角,
后續的劃過動畫也是依靠這兩個屬性*/
top: -200%;
left: -100%;
/*定義白光的寬高*/
width: 50%;
height: 300%;
/*旋轉角度,你也可以調整*/
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
/*使用漸變來實現白光*/
background: -webkit-linear-gradient(left, rgba(255, 255, 255, .05) 20%,
rgba(255, 255, 255, .6) 65%, rgba(255, 255, 255, .05) 100%);
background: linear-gradient(left, rgba(255, 255, 255, .05) 20%,
rgba(255, 255, 255, .6) 65%, rgba(255, 255, 255, .05) 100%);
content: '';
z-index: 2;
position: absolute;
}
```
我們使用漸變(linear-gradient)來實現白光效果,同時為了斜向劃過,使用`transform: rotate(45deg)`將其旋轉45度。
上面的height、width、top和left,你也可以使用具體的像素值,不過建議采用百分比,這樣可以重復使用,而不需手動改變太多值。
圖片有了,白光有了,接下來就是讓白光動起來:
```
.highlight-box:hover:before {
//這里省略了私有前綴代碼
animation: crossed .5s linear;
}
@keyframes crossed {
0% {
top: -200%;
left: -100%;
}
100% {
top: -50px;
left: 100%;
}
}
```
我們需要改變的只是top和left的值,也就是讓白光從左上角向右下角移動。
到這里,白光劃過效果已經實現了。
源碼路徑:` WebDemo/CSS/highlight`
源碼下載地址在目錄的最后。
- 概述
- CSS實戰篇
- 白光劃過效果
- 3D立方體
- 水中倒影
- 工具提示(tooltip)
- 單選復選
- Loading
- 圖片濾鏡
- 陰影(box-shadow)
- 3D按鈕
- 自定義滾動條
- 文字效果
- 多彩的漸變
- 進度條
- 遮罩條
- 切角
- 表單
- 溢出省略號
- 自定義選擇文本樣式
- 表格
- 導航菜單
- 動態的邊框
- 文件上傳組件美化
- 打字機效果
- 多形狀圖像
- 心跳燈和呼吸燈
- 豎著排的文字
- 面包屑導航
- 首字母下沉
- 美化有序列表
- 緞帶效果
- JavaScript實戰篇
- 點擊水波效果
- 手風琴布局
- 收縮菜單
- 滑塊
- 瀑布流
- 下拉菜單
- 幻燈片
- 選項卡
- 全屏滾動
- 富文本編輯器
- 帶表情輸入的評論框
- 圖片懶加載
- 開啟全屏
- 返回頂部
- 上傳圖片預覽
- 走馬燈
- 萬年歷
- 樹形菜單
- 旋轉加載
- 固定頭的表格
- 圓形水波紋加載進度
- 檢測是否移動端
- 搜索過濾
- 彈幕
- 自定義滾動條
- 城市聯動選擇器
- 滾動監聽
- 邊欄懸浮菜單
- canvas實戰篇
- 雪花紛飛
- 粒子動畫
- 刮刮卡
- 手勢密碼
- 截圖下載
- 圖片放大器
- 粒子聚合
- 移動實戰篇
- 列表滑動刪除
- 移動聯動選擇器
- 模板預覽
- 源碼下載
- 《JavaScript半知半解》電子版