在網頁設計中,經常需要使用一些動態效果來增強頁面的視覺效果。其中,文本走馬燈是一種比較常見的動態效果之一。在CSS樣式表中,也可以通過一些簡單的代碼實現文本走馬燈的效果。
/*樣式代碼*/ .marquee { width: 100%; /*寬度*/ white-space: nowrap; /*禁止換行*/ overflow: hidden; /*溢出隱藏*/ position: relative; /*相對定位*/ animation: marquee 10s linear infinite; /*動畫*/ -webkit-animation: marquee 10s linear infinite; /*Safari和Chrome*/ } .marquee:hover { /*鼠標懸停時,暫停動畫*/ -webkit-animation-play-state: paused; /*Safari和Chrome*/ animation-play-state: paused; } .marquee:before, .marquee:after { /*生成內容*/ content: ""; position: absolute; top: 0; width: 20%; height: 100%; background-color: white; z-index: 2; } .marquee:before { left: 0; /*漸變效果*/ background: linear-gradient(to right, #ffffff, rgba(255, 255, 255, 0)); } .marquee:after { right: 0; /*漸變效果*/ background: linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0)); } /*動畫代碼*/ @keyframes marquee { 0% { transform: translateX(0%); } 100% { transform: translateX(-100%); } } @-webkit-keyframes marquee { 0% { -webkit-transform: translateX(0%); } 100% { -webkit-transform: translateX(-100%); } }
以上是文本走馬燈的CSS樣式代碼,下面來解析一下這段代碼的實現方法。
首先是樣式代碼的部分:
- white-space: nowrap;: 禁止元素內部產生換行
- overflow: hidden;: 隱藏元素內容的溢出部分
- position: relative;: 相對定位,為了絕對定位生成的偽元素服務
- animation: marquee 10s linear infinite;: 動畫屬性,指定運動時間、相位、次數等
- before和after偽元素: 在元素前后添加偽元素,用于生成文本遮罩效果
其次是動畫代碼的部分:
- 0%和100%: 第一幀和最后一幀的狀態
- transform: translateX(-100%);: 將文本容器沿著X軸向左移動一個元素的長度
- @-webkit-keyframes: Safari和Chrome特有的動畫代碼
通過以上樣式代碼和動畫代碼的結合,就可以實現文本走馬燈的效果了。
上一篇css新文章列表置頂
下一篇ajax導航上下收縮菜單