使用CSS實(shí)現(xiàn)簡(jiǎn)單的邊框流光效果
首先上一個(gè)效果圖

有木有發(fā)現(xiàn)和夜晚街上的廣告牌很像,接下來讓我們看看如何使用css實(shí)現(xiàn)的吧
結(jié)構(gòu)分析
首先很明顯應(yīng)該使用一個(gè)盒子將文字裝起來,并且將文字進(jìn)行了居中,然后我們看到這盒子的周圍圍繞了兩條光帶,那么這兩條光帶是怎么實(shí)現(xiàn)的呢?
其實(shí)這是用四個(gè)小盒子實(shí)現(xiàn)的,將這四個(gè)小盒子分別放在大盒子的周圍(緊貼這大盒子的內(nèi)壁),然后使用這幾個(gè)小盒子實(shí)現(xiàn)流光(跑馬燈)效果。
接下來看看具體的代碼實(shí)現(xiàn)
代碼實(shí)現(xiàn)
HTML結(jié)構(gòu)
首先準(zhǔn)備一個(gè)div大盒子,用來裝我們的廣告語(yǔ),還有跑馬燈的四個(gè)小盒子
<div class="main"> 跑馬燈 <div></div> <div></div> <div></div> <div></div> </div>
給大盒子設(shè)置樣式,方便我們?cè)跒g覽器中看到
body {
background-color: #000;
}
.main {
position: absolute;
width: 400px;
height: 150px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);//當(dāng)為百分百單位時(shí),相對(duì)的是自身的寬高
overflow: hidden; //溢出部分隱藏
text-align: center;
line-height: 150px;
background-color: transparent;
color: aquamarine;
font-size: 30px;
font-family: '宋體';
}當(dāng)前效果是這樣的

下來我們給大盒子設(shè)置燈光效果。
內(nèi)部燈光效果
在效果圖上,我們可以看到燈光尾部的顏色比較淡,頭部顏色較亮, 展現(xiàn)出一種過渡效果,那這樣的效果是怎么實(shí)現(xiàn)的呢?
這里就需要用到css3中background的一個(gè)新的屬性值:linear-gradient,通過這個(gè)屬性,我們可以將多個(gè)顏色設(shè)置為一個(gè)盒子的背景顏色,并且還有過渡效果,更強(qiáng)大的地方在于,這個(gè)屬性值可以設(shè)置漸變的方向。
語(yǔ)法:linear-gradient(漸變方向,color1,color2,color3...)
這里我選擇了#fff, #acd, cyan漸變的三種配色
那就開始使用這個(gè)屬性值,這是其中一個(gè)小盒子的效果(頂部),其他的效果實(shí)現(xiàn)方法都類似。
.main div {
position: absolute;
}
.main :nth-child(1) {
top: 0;
left: 0;
width: 100%; //與父盒子等寬
height: 2px; //高要設(shè)置得較小
background: linear-gradient(to right, #fff, #acd, cyan);
}這里設(shè)置的是頂部的燈光效果,使用top和left的屬性設(shè)置這個(gè)盒子的位置;使用width:100%,使得這個(gè)盒子的寬度與大盒子保持一致,然后使用height:2px,將燈光條的寬度設(shè)置為2px,當(dāng)然也可以根據(jù)實(shí)際需求,改變燈光條的寬度
接著剩下三條燈光的實(shí)現(xiàn)原理基本相同,只有位置和背景顏色不同
剩下右,下,左背景顏色的漸變方向分別是to bottom、to left、to top
目前效果是這樣的:

這離我們想要的跑馬燈效果越來越像了
其實(shí)我們還差最后一步,給燈光加上動(dòng)畫效果,也就是css3中的animation動(dòng)畫屬性
同樣我們也以設(shè)置頂部的燈光效果作為示范:
css3動(dòng)畫:
@keyframes run1 {
from {
transform: translateX(-100%) //初始讓它沿X軸負(fù)方向(向左)位移自身的寬度
}
to {
transform: translateX(100%) //動(dòng)畫結(jié)束時(shí),讓它回到原位
}
}給盒子加上動(dòng)畫
.main :nth-child(1) {
top: 0;
left: 0;
width: 100%;
height: 2px;
animation: run1 1s linear infinite;//復(fù)合屬性寫法,其中infinite是讓動(dòng)畫效果無限循環(huán)
background: linear-gradient(to right, #fff, #acd, cyan);
}前面沒有設(shè)置動(dòng)畫之前,可以看到顏色最深的部分在最右邊,但是跑馬燈的實(shí)現(xiàn)需求是需要顏色最深部分從左邊出現(xiàn),然后移動(dòng)到右邊,所以應(yīng)該將動(dòng)畫的初識(shí)位置向左移整個(gè)盒子的長(zhǎng)度,這樣就實(shí)現(xiàn)了需求
剩下三個(gè)盒子的實(shí)現(xiàn)方式類似,設(shè)置好后,最終得到我們想要的跑馬燈效果
全部代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
body {
background-color: #000;
}
.main {
position: absolute;
width: 400px;
height: 150px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
overflow: hidden;
text-align: center;
background-color: transparent;
line-height: 150px;
color: aquamarine;
font-size: 30px;
font-family: '宋體';
}
.main div {
position: absolute;
}
.main :nth-child(1) {
top: 0;
left: 0;
width: 100%;
height: 2px;
animation: run1 1s linear infinite;
/* animation-delay: 0s; */
background: linear-gradient(to right, #fff, #acd, cyan);
}
.main :nth-child(2) {
top: 0;
right: 0;
height: 100%;
width: 2px;
animation: run2 1s linear infinite;
/* animation-delay: 1s; 設(shè)置動(dòng)畫延遲加載時(shí)間*/
background: linear-gradient(to bottom, #fff, #acd, cyan);
}
.main :nth-child(3) {
bottom: 0;
left: 0;
height: 2px;
width: 100%;
animation: run3 1s linear infinite;
/* animation-delay: 2s; 設(shè)置動(dòng)畫延遲加載時(shí)間*/
background: linear-gradient(to right, #fff, #acd, cyan);
}
.main :nth-child(4) {
top: 0;
left: 0;
height: 100%;
width: 2px;
animation: run4 1s linear infinite;
/* animation-delay: 3s; 設(shè)置動(dòng)畫延遲加載時(shí)間 */
background: linear-gradient(to top, #fff, #acd, cyan);
}
@keyframes run1 {
from {
transform: translateX(-100%)
}
to {
transform: translateX(100%)
}
}
@keyframes run2 {
from {
transform: translateY(-100%)
}
to {
transform: translateY(100%)
}
}
@keyframes run3 {
from {
transform: translateX(100%)
}
to {
transform: translateX(-100%)
}
}
@keyframes run4 {
from {
transform: translateY(100%)
}
to {
transform: translateY(-100%)
}
}
</style>
<body>
<div class="main">
海綿寶寶
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</body>
</html>以上就是使用CSS實(shí)現(xiàn)簡(jiǎn)單的邊框流光效果的詳細(xì)內(nèi)容,更多關(guān)于CSS邊框流光效果的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
這篇文章給大家介紹了如何使用CSS實(shí)現(xiàn)漸變圓角邊框的效果,有沒有發(fā)現(xiàn)在現(xiàn)如今的網(wǎng)站應(yīng)用中,我們大量的使用到這類場(chǎng)景,在解決這類問題時(shí),我們利用了css的mask與mask-comp2023-10-12
今天給大伙帶來的是一個(gè)鋸齒形邊框,類似于傳統(tǒng)郵票的邊框,有一圈鋸齒形狀,其實(shí)看到這種效果,相信很多人第一反應(yīng)是采用偽元素的方式添加小三角形來實(shí)現(xiàn)鋸齒狀,確實(shí)是這2023-09-08
CSS實(shí)現(xiàn)切角+邊框+投影+內(nèi)容背景色漸變效果
這篇文章主要介紹了CSS實(shí)現(xiàn)切角+邊框+投影+內(nèi)容背景色漸變效果,單純用css實(shí)現(xiàn)切角+邊框+投影+內(nèi)容背景色漸變所有效果,因?yàn)閁I沒給背景切圖,尋思這個(gè)理論上用css就能實(shí)現(xiàn)2021-10-27
本文通過代碼給大家介紹css背景和邊框標(biāo)簽的一些知識(shí),通過相關(guān)屬性設(shè)置背景顏色,背景圖像,對(duì)css背景與邊框的相關(guān)知識(shí)感興趣的朋友一起看看吧2021-05-21
這篇文章主要介紹了css 中多種邊框的實(shí)現(xiàn)小竅門,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)2021-04-07css實(shí)現(xiàn)邊框流動(dòng)的項(xiàng)目實(shí)踐
邊框流動(dòng)效果是一種很酷的效果,可以為網(wǎng)頁(yè)增添一些動(dòng)感和活力,本文就來介紹一下css實(shí)現(xiàn)邊框流動(dòng)的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-01




