css 實現閃爍光標

要實現閃爍光標(比如文本輸入框內常見的閃爍效果),可以使用 CSS 動畫。下面是一個簡單的方法:

代碼示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS 閃爍光標</title><style>.blinking-cursor {display: inline-block;width: 2px;  /* 光標寬度 */height: 1em; /* 光標高度與文字一致 */background-color: black;  /* 光標顏色 */animation: blink 1s step-end infinite;  /* 動畫:1秒閃爍一次 */}@keyframes blink {50% {background-color: transparent;  /* 閃爍時變成透明 */}}</style>
</head>
<body><p>模擬光標:<span class="blinking-cursor"></span></p>
</body>
</html>

解釋

  • .blinking-cursor:設置一個類似光標的矩形條,高度為 1em,寬度為 2px。
  • animation: blink 1s step-end infinite;
    • blink 是關鍵幀動畫名稱。
    • 1s 表示動畫周期為 1 秒。
    • step-end 表示每個動畫周期末端執行變化(讓閃爍看起來干脆)。
    • infinite 表示無限循環。
  • @keyframes blink:設置光標顏色在動畫中變為透明,實現“閃爍”效果。

可選改進

  • 調節頻率:可以更改 1s0.5s 或其他時間來更快或更慢閃爍。
  • 更改顏色或樣式:除了 background-color,可以使用其他樣式來改變光標行為,比如大小、顏色等。

也可以結合輸入文本使用偽類 ::after 來模擬,使用偽類 ::after 可以更靈活地模擬輸入文本后的閃爍光標。以下是一個帶有偽類實現的動態光標的例子。

代碼示例(偽類 + 閃爍光標)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>偽類閃爍光標</title><style>.text-container {font-family: "Courier New", Courier, monospace;  /* 等寬字體 */font-size: 24px;  /* 字體大小 */display: inline-block;position: relative;}.text-container::after {content: "";  /* 空內容,用于模擬光標 */position: absolute;right: 0;width: 2px;  /* 光標寬度 */height: 1em;  /* 光標高度等于字體高度 */background-color: black;  /* 光標顏色 */animation: blink 1s step-end infinite;  /* 閃爍動畫 */}@keyframes blink {50% {background-color: transparent;  /* 50% 時光標透明,實現閃爍 */}}</style>
</head>
<body><div class="text-container">正在輸入文本...</div></body>
</html>

解釋

  • .text-container:這是包含文本的容器,它使用 position: relative; 以便讓偽類 ::after 的絕對定位起作用。
  • 偽類 ::after
    • content: "";:必須設置內容(即使為空),否則偽類無法顯示。
    • position: absolute;:讓偽類可以相對于父元素定位。
    • right: 0;:讓光標始終貼緊文本右側。
    • animation: blink 1s step-end infinite;:讓光標每 1 秒閃爍一次,呈現打字效果。
  • 關鍵幀動畫 @keyframes blink:設置光標每隔 1 秒透明一次,實現閃爍效果。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/899257.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/899257.shtml
英文地址,請注明出處:http://en.pswp.cn/news/899257.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從JVM底層揭開Java方法重載與重寫的面紗:原理、區別與高頻面試題突破

&#x1f31f;引言&#xff1a;一場由方法調用引發的"血案" 2018年&#xff0c;某電商平臺在"雙十一"大促期間遭遇嚴重系統故障。 技術團隊排查發現&#xff0c;問題根源竟是一個繼承體系中的方法重寫未被正確處理&#xff0c;導致訂單金額計算出現指數級…

詳解Spark executor

在 Apache Spark 中&#xff0c;Executor&#xff08;執行器&#xff09; 是運行在集群工作節點&#xff08;Worker Node&#xff09;上的進程&#xff0c;負責執行具體的計算任務并管理數據。它是 Spark 分布式計算的核心組件之一&#xff0c;直接決定了任務的并行度和資源利用…

適配器模式及其典型應用

引言 適配器模式&#xff08;Adapter Pattern&#xff09;是一種結構型設計模式&#xff0c;它允許不兼容的接口協同工作。適配器模式通過創建一個適配器類來轉換一個類的接口&#xff0c;使其能夠與另一個類的接口兼容。這種模式在實際開發中非常有用&#xff0c;特別是在需要…

如何在 Vue 項目中使用v - for指令進行列表渲染,如何優化其性能?

大白話如何在 Vue 項目中使用v - for指令進行列表渲染&#xff0c;如何優化其性能&#xff1f; 在Vue項目里&#xff0c;咱們常常會碰到要把一組數據渲染成列表的狀況。這時候&#xff0c;v-for指令就派上大用場啦&#xff01;它能讓咱們輕松地把數據數組里的每個元素渲染成對…

qt QQuaternion詳解

1. 概述 QQuaternion 是 Qt 中用于表示三維空間中旋轉的四元數類。它包含一個標量部分和一個三維向量部分&#xff0c;可以用來表示旋轉操作。四元數在計算機圖形學中廣泛用于平滑的旋轉和插值。 2. 重要方法 默認構造函數 QQuaternion::QQuaternion(); // 構造單位四元數 (1…

如何將爬取的評論數據存儲到數據庫?

在使用Python爬蟲獲取1688商品評論后&#xff0c;將這些數據存儲到數據庫中是一個常見的需求。這樣可以方便后續的數據分析、查詢和管理。本文將詳細介紹如何將爬取的評論數據存儲到數據庫中&#xff0c;包括MySQL和SQLite兩種常見的數據庫。 一、準備工作 1. 安裝必要的Pytho…

Maven中為什么有些依賴不用引入版本號

先給出一個例子&#xff1a; <parent><artifactId>sky-take-out</artifactId><groupId>com.sky</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>sky-s…

Nginx相關漏洞解析

一、CRLF注入漏洞 原理&#xff1a;Nginx將傳入的url進行解碼&#xff0c;對其中的%0a%0d替換成換行符&#xff0c;導致后面的數據注入至頭部&#xff0c;造成CRLF 注入漏洞 1、開環境 2、訪問網站&#xff0c;并抓包 3、構造請求頭 %0ASet-cookie:JSPSESSID%3D1 這樣就可以…

RUBY報告系統

我們常用GFP及其變體如RFP、YFP、mCherry等作為基因表達的報告蛋白——需要熒光顯微鏡制片觀察&#xff1b;此外還有GUS或熒光素酶作為報告酶——需要添加底物。 RUBY報告系統則與眾不同&#xff0c;其作用原理是&#xff1a;將酪氨酸轉化為鮮艷的紅色甜菜堿&#xff0c;無需使…

[力扣每日一練]關于MySQL和pandas的正則表達式應用

一&#xff1a;題目要求 表&#xff1a;Users-------------------------- | Column Name | Type | -------------------------- | user_id | int | | email | varchar | -------------------------- (user_id) 是這張表的唯一主鍵。 每一行包含用…

office_word中使用宏以及DeepSeek

前言 Word中可以利用DeepSeek來生成各種宏&#xff0c;從而生成我們需要各種數據和圖表&#xff0c;這樣可以大大減少我們手工的操作。 1、Office的版本 采用的是微軟的office2016&#xff0c;如下圖&#xff1a; 2、新建一個Word文檔 3、開啟開發工具 這樣菜單中的“開發工具…

深度學習框架PyTorch——從入門到精通(10)PyTorch張量簡介

這部分是 PyTorch介紹——YouTube系列的內容&#xff0c;每一節都對應一個youtube視頻。&#xff08;可能跟之前的有一定的重復&#xff09; 創建張量隨機張量和種子張量形狀張量數據類型 使用PyTorch張量進行數學與邏輯運算簡單介紹——張量廣播關于張量更多的數學操作原地修改…

Oracle 10G DG 修復從庫-磁盤空間爆滿導致從庫無法工作

一、背景 由于近期在做應用升級和系統改造&#xff0c;導致幾天沒怎么觀察DG庫的狀態。這幾天歸檔日志暴漲導致磁盤空間用盡&#xff0c;從庫無法接收主庫的歸檔日志&#xff0c;且從庫無法工作。經過檢查&#xff0c;發現從庫所需要的日志在主庫均存在。所以當前文檔使用歸檔…

【踩坑系列】使用httpclient調用第三方接口返回javax.net.ssl.SSLHandshakeException異常

1. 踩坑經歷 最近做了個需求&#xff0c;需要調用第三方接口獲取數據&#xff0c;在聯調時一直失敗&#xff0c;代碼拋出javax.net.ssl.SSLHandshakeException異常&#xff0c; 具體錯誤信息如下所示&#xff1a; javax.net.ssl.SSLHandshakeException: sun.security.validat…

算法基礎——模擬

目錄 1 多項式輸出 2.蛇形方陣 3.字符串的展開 模擬&#xff0c;顧名思義&#xff0c;就是題?讓你做什么你就做什么&#xff0c;考察的是將思路轉化成代碼的代碼能?。這類題?般較為簡單&#xff0c;屬于競賽??的簽到題&#xff08;但是&#xff0c;萬事?絕對&#xff…

PrimeTime生成.lib竟暗藏PG添加Bug

在primeTime里生成lib&#xff0c;如何能帶上相關的pg信息&#xff1f; 這是一位群友的發問&#xff0c;就這個問題總結了下可能的原因和解決步驟&#xff1a; 概念 PrimeTime是Synopsys的靜態時序分析工具&#xff0c;通常用于在設計的各個階段進行時序驗證。 1&#xff09…

yolo系列算法最新進展

YOLO&#xff08;You Only Look Once&#xff09;系列算法作為目標檢測領域的代表性模型&#xff0c;自2016年推出以來不斷迭代&#xff0c;在速度與精度之間尋求平衡。截至2024年&#xff0c;其最新進展主要集中在以下幾個方面&#xff1a; ?1. YOLOv8 的優化與擴展? ?官方…

動態規劃:路徑類dp

路徑類dp 1.矩陣的最小路徑和_牛客題霸_牛客網 #include<iostream> #include<cstring> using namespace std;const int N 510; int f[N][N]; int n, m;int main() {cin >> n >> m;memset(f, 0x3f3f3f, sizeof(f));f[0][1] 0;for (int i 1; i < …

性能測試理論基礎-性能指標及jmeter中的指標

1、什么是性能測試 通過一定的手段,在多并發下情況下,獲取被測系統的各項性能指標,驗證被測系統在高并發下的處理能力、響應能力,穩定性等,能否滿足預期。定位性能瓶頸,排查性能隱患,保障系統的質量,提升用戶體驗。 2、什么樣的系統需要做性能測試 用戶量大,頁面訪問…

Debian,Ubuntu,設置/etc/vim/vimrc.tiny解決:上下左右變成ABCD,backspace退格鍵失效的問題

Debian,Ubuntu,用設置/etc/vim/vimrc.tiny解決:上下左右變成ABCD,backspace退格鍵失效的問題 Debian,Ubuntu, 默認的vi 在編輯模式下的上下左右變成ABCD , 退格鍵也失效 解決辦法1, 卸載重裝vim sudo apt remove vim; sudo apt install -y vim解決辦法2: 修改 /etc/vim/vimr…