前端每日實戰:34# 視頻演示如何用純 CSS 創作在文本前后穿梭的邊框

圖片描述

效果預覽

按下右側的“點擊預覽”按鈕可以在當前頁面預覽,點擊鏈接可以全屏預覽。

https://codepen.io/comehope/pen/qYepNv

可交互視頻教程

此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。

請用 chrome, safari, edge 打開觀看。

https://scrimba.com/p/pEgDAM/cQ73Vt8

源代碼下載

每日前端實戰系列的全部源代碼請從 github 下載:

https://github.com/comehope/front-end-daily-challenges

代碼解讀

定義 dom,容器中包含文本:

<div class="warning">ERROR 404</div>

居中顯示:

body {margin: 0;height: 100vh;display: flex;align-items: center;justify-content: center;background-color: rgb(20%, 20%, 20%);
}

定義文字樣式:

.warning {color: whitesmoke;font-size: 100px;font-family: sans-serif;font-weight: bold;
}

用偽元素定義邊框尺寸:

.warning {position: relative;padding: 0.6em 0.4em;
}.warning::before,
.warning::after {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;border: 0.2em solid;box-sizing: border-box;
}

把邊框分為兩部分,拼在一起:

.warning::before,
.warning::after {border: 0.2em solid transparent;color: orangered;
}.warning::before {border-top-color: currentColor;border-right-color: currentColor;
}.warning::after {border-bottom-color: currentColor;border-left-color: currentColor;
}

把上邊框和右邊框下沉一層:

.warning::before {z-index: -1;
}

為下邊框和在邊框加上陰影:

.warning::after {box-shadow: 0.3em 0.3em 0.3em rgba(20%, 20%, 20%, 0.8);
}

最后,讓邊框轉起來:

.warning::before,
.warning::after {animation: rotating 10s infinite;
}@keyframes rotating {to {transform: rotate(360deg);}
}

大功告成!

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

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

相關文章

not support mysql_MYSQL出現quot; Client does not support authentication quot;的解決方法

MYSQL 幫助&#xff1a;A.2.3 Client does not support authentication protocolMySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. If you upgrade the server to 4.1, attemp…

spark shell中編寫WordCount程序

啟動hdfs 略http://blog.csdn.net/zengmingen/article/details/53006541 啟動spark 略安裝&#xff1a;http://blog.csdn.net/zengmingen/article/details/72123717 spark-shell&#xff1a;http://blog.csdn.net/zengmingen/article/details/72162821準備數據 vi wordcount.t…

初級英語02

做客 1 Diana,i havent seen you for ages,how have you been? 2 would you like something to drink? 3 give my best to your parents. 4 did you hear what happened?whats the matter with him? 5 id like to applogize for leaving so early,i brought a little gift,…

mysql計算機二級選擇題題庫_全國計算機二級mysql數據庫選擇題及答案

全國計算機二級mysql數據庫選擇題及答案選擇題是全國計算機二級mysql考試里的送分題&#xff0c;下面小編為大家帶來了全國計算機二級mysql數據庫選擇題及答案&#xff0c;歡迎大家閱讀&#xff01;全國計算機二級mysql數據庫選擇題及答案1) 函數 max( ) 表明這是一個什么函數?…

git add 撤銷_更科學地管理你的項目,Git 簡明教程(二)

修改文件內容上回說到&#xff0c;我們已經成功創建并提交了一個 README.md 文件到 FirstGit 版本庫中1、修改文件現在我們更改 README.md 內容2、查看版本庫狀態該文件夾內右鍵運行 Git Bash Here執行命令 git statusGit 提示我們的改動還沒有 commit&#xff0c;并且它給出了…

Eclipse中Copy Qualified Name復制類全名解決辦法

原文鏈接&#xff1a;http://www.cnblogs.com/zyh1994/p/6393550.html ----------------------------------------------------------------------------------------------- Eclipse中 用Copy Qualified Name復制類全名時 總是這樣的/struts1/src/me/edu/HelloAction.java很不…

c 連接mysql錯誤信息_使用C語言訪問MySQL數據 —— 連接和錯誤處理

2011-05-09 wcdj可以通過許多不同的編程語言來訪問MySQL&#xff0c;例如&#xff0c;C&#xff0c;C&#xff0c;Java&#xff0c;Perl&#xff0c;Python&#xff0c;Tcl&#xff0c;PHP等。本文主要總結使用C語言接口如何訪問MySQL數據。(一) 連接例程(二) 錯誤處理(一) 連接…

eclipse編寫wordcount提交spark運行

采用集成了scala的eclipse編寫代碼 代碼&#xff1a; package wordcountimport org.apache.spark.SparkConf import org.apache.spark.SparkContextobject WordCount {def main(args: Array[String]): Unit {//非常重要&#xff0c;是通向Spark集群的入口val confnew SparkCon…

gitlab 刪除分支_如何刪除gitlab上默認受保護的master主分支

今天開發在檢查代碼的時候&#xff0c;發現master分支有問題&#xff0c;現在準備刪除此主分支&#xff0c;并且重新提交正確的代碼&#xff0c;不過在刪除時發現&#xff0c;master分支不能被刪除。ps&#xff1a;主分支一般都是線上分支&#xff0c;需要開發確認后并且做好備…

rsync服務擴展應用

rsync服務擴展應用① 守護進程多模塊功能配置第一步&#xff1a;修改配置文件 注&#xff1a;可以再vim中輸入&#xff1a;20,22copy22&#xff0c;表示復制20到22行到22行之后 vim /etc/rsyncd.conf[backup01]comment "backup dir by oldboy"path /backup[backup0…

NodeJs 安裝

進入官網下載&#xff0c;zip 安裝包 https://nodejs.org/en/download/ 解壓 配置環境變量到安裝目錄 cmd 測試 node -v npm -v

SSH秘鑰登錄服務器

一、查看本機 ssh 公鑰&#xff0c;生成公鑰 1.通過命令窗口 a. 打開你的 git bash 窗口 b. 進入 .ssh 目錄&#xff1a;cd ~/.ssh c. 找到 id_rsa.pub 文件&#xff1a;ls d. 查看公鑰&#xff1a;cat id_rsa.pub 或者 vim id_rsa.pub git–查看本機 ssh 公鑰&#xff0c…

mysql存入mtr數據_mysql mtr寫入數據

selenium 打開瀏覽器import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebE ...Win8&period;1安裝Visual Studio 2015提示需要KB2919355http://www.microsoft.com/zh-cn/download/details.aspx?id42335 安裝說明: 1.若要…

diff git 代碼實現_Git 自救指南:這些坑你都跳得出嗎?

每天都會寫架構師文章&#xff0c;Java技術文章天天更新&#xff0c;感興趣的點個關注再走唄&#xff01;Git 雖然因其分布式管理方式&#xff0c;不完全依賴網絡&#xff0c;良好的分支策略&#xff0c;容易部署等優點&#xff0c;已經成為最受歡迎的源代碼管理方式。但是一分…

HDU 4812 D Tree

HDU 4812 思路&#xff1a; 點分治 先預處理好1e6 3以內到逆元 然后用map 映射以分治點為起點的鏈的值a 成他的下標 u 然后暴力跑出以分治點兒子為起點的鏈的值b&#xff0c;然后在map里查找inv[b]*k 代碼&#xff1a; #include<bits/stdc.h> using namespace std; #d…

Angular CLI 安裝

安裝Angular 官網的教程&#xff0c;因為國內網絡環境原因&#xff0c;訪問不了服務器&#xff0c;導致安裝失敗。 1、先安裝NodeJs 安裝教程&#xff1a;http://blog.csdn.net/zengmingen/article/details/72650484 2、通過NodeJs中的模塊npm 命令行安裝 CLI 2.1、設置npm的…

go 寫文件_「go」 項目多個文件編程

golang 學習的時候很多sample 講的都是一個文件的go 文件怎么寫&#xff0c;但是現實中不可能所有的實現都寫到一個文件里面&#xff0c;按照功能的不同&#xff0c;要么拆分成不同的文件&#xff0c;要么拆分成不同的文件。下面有些個人的經驗分享下&#xff0c;如果有問題請指…

CycleGAN 各種變變變

轉載自 簡單介紹了一下GAN和DCGAN的原理。以及如何使用Tensorflow做一個簡單的生成圖片的demo。 Ian Goodfellow對GAN一系列工作總結的ppt&#xff0c;確實精彩&#xff0c;推薦&#xff1a;獨家 | GAN之父NIPS 2016演講現場直擊&#xff1a;全方位解讀生成對抗網絡的原理及未來…

pycharm與webstorm 2017 激活破解

原有的方式已經失效&#xff0c;見下面博文&#xff1a; https://blog.csdn.net/justszh/article/details/81484802

mysql blob 比較_與MSSQL對比學習MYSQL的心得(四)--BLOB數據類型

MYSQL里的BLOB數據類型BLOB是一個二進制大對象&#xff0c;用來存儲可變數量的數據。BLOB類型分為4種&#xff1a;TinyBlob、Blob、MediumBlob、LongBlob&#xff0c;這幾個類型之間的唯一區別是在存儲文件的最大大小上不同。MySQL的四種BLOB類型 類型 大小(單位&#xff1…