CSS畫(huà)心形的三種方法
下面,介紹三種CSS畫(huà)心形的方法。實(shí)現(xiàn)過(guò)程都非常簡(jiǎn)單,保證你一看就會(huì)。
1.一顆div一顆心
用一個(gè)div畫(huà)出一個(gè)心,核心的方法就是使用偽元素。
首先,我們?cè)陧?yè)面上先寫(xiě)出一個(gè)div:
<div></div>
使用CSS,將這個(gè)div變?yōu)橐粋€(gè)橘紅色的正方形:
div {
position:relative;
top: 100px;
left: 50%;
width: 100px;
height: 100px;
background-color: tomato;
}

接著我們利用元素的兩個(gè)偽元素:before和:after,畫(huà)出一個(gè)藍(lán)色的圓和一個(gè)黃色的圓,并且將它們的圓心分別定位在正方形的上邊和右邊。
div:before {
content: "";
position:absolute;
top: -50px;
left: 0;
width: 100px;
height: 100px;
border-radius: 50%;
background-color: blue;
}
div:after{
content: "";
position: absolute;
top: 0px;
left: 50px;
width: 100px;
height: 100px;
background-color: yellow;
border-radius: 50%;
}

再來(lái),將剛剛實(shí)現(xiàn)的兩個(gè)圓變成和正方形一樣的顏色:
div:before {
...
background-color: tomato;
}
div:after{
...
background-color: tomato;
}

最后,將元素div旋轉(zhuǎn)45度,我們要的心形就實(shí)現(xiàn)了!就是這么簡(jiǎn)單。
div {
position:relative;
top: 100px;
left: 50%;
width: 100px;
height: 100px;
background-color: tomato;
transform: rotate(-45deg);
}
2.一顆心不夠,那我們就畫(huà)一屏
一顆心不夠表達(dá)我的心意,那么就給她畫(huà)出一屏幕的心。
❤❤❤❤❤❤❤❤❤❤❤❤
❤❤❤❤❤❤❤❤❤❤❤❤
❤❤❤❤❤❤❤❤❤❤❤❤
❤❤❤❤❤❤❤❤❤❤❤❤
❤❤❤❤❤❤❤❤❤❤❤❤
我對(duì)你有表達(dá)不完的心意,就有寫(xiě)不完的div:
HTML
<h1>愛(ài)無(wú)處不在...</h1> <div class="heart"></div> <div class="heart"></div> <div class="heart"></div> <div class="heart"></div> <div class="heart"></div> <div class="heart"></div> <div class="heart"></div> <div class="heart"></div> ...
浮動(dòng)讓它們填滿整個(gè)屏幕:
.heart{
position: relative;
width: 100px;
height: 90px;
float: left;
}
兩個(gè)偽元素代表我的左心房和右心房:
.heart:before,
.heart:after{
position: absolute;
content: "";
left: 50px;
top: 0;
width: 50px;
height: 80px;
background: #fc2e5a;
border-radius: 50px 50px 0 0;
transform-origin: 0 100%;
}
.heart:after{
left: 0;
transform-origin :100% 100%;
}

讓左右心房都旋轉(zhuǎn)45度,就形成了我滿滿的一屏幕心:
.heart:before,
.heart:after{
...
transform: rotate(-45deg);
}
.heart:after{
...
transform: rotate(45deg);
}
3.我對(duì)你的愛(ài)有多深
“以前我看事物,是用肉眼去看,但是在我死去的那一剎那,我開(kāi)始用心眼去看這個(gè)世界,所有的事物,真的可以看得前所未有的那么清楚。” -周星馳
無(wú)論有多少顆心都不能表達(dá)出我對(duì)你的愛(ài)意有多深,于是,我要讓你看到我的心都是由每一個(gè)愛(ài)你的細(xì)胞所組成的:
<div class="heart"></div>
CSS:
.heart {
position: absolute;
left: 50%;
top: 50%;
width: 105px;
height: 105px;
margin: -52.5px 0 0 -52.5px;
}
像素級(jí)的世界可以由box-shadow屬性實(shí)現(xiàn):
.heart::before {
content: '';
display: block;
transition: all 400ms;
width: 15px;
height: 15px;
margin: -15px 0 0 -15px;
box-shadow: 30px 15px #8e1a19, 45px 15px #ac0500, 75px 15px #f73f0c, 90px 15px #fa5f27, 15px 30px #740100, 30px 30px #8e0500, 45px 30px #8e1918, 60px 30px #ca1300, 75px 30px #f34f2b, 90px 30px #df351f, 105px 30px #f77c2a, 15px 45px #4b0000, 30px 45px #690100, 45px 45px #8e0f0b, 60px 45px #bf1000, 75px 45px #f84010, 90px 45px #f04222, 105px 45px #fa5724, 15px 60px #451312, 30px 60px #5a0100, 45px 60px #840e0c, 60px 60px #a51d1a, 75px 60px #ed2805, 90px 60px #d9321e, 105px 60px #f44622, 30px 75px #3b0000, 45px 75px #5d1a1b, 60px 75px #8e1a19, 75px 75px #a80700, 90px 75px #b90a00, 45px 90px #3d0000, 60px 90px #551415, 75px 90px #670100, 60px 105px #340000;
animation: pulse 1.2s steps(1) infinite;
}

就這樣,一個(gè)像素級(jí)的心形就完成了,接著我們還可以給它添加上一個(gè)動(dòng)畫(huà)效果,讓它的每一個(gè)細(xì)胞都產(chǎn)生動(dòng)畫(huà)的效果,你可以嘗試一下。
最后,再送你一個(gè)CSS心形動(dòng)畫(huà)效果:

總結(jié)
以上所述是小編給大家介紹的CSS畫(huà)心形的三種方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章

CSS3打造的現(xiàn)代交互式登錄界面詳細(xì)實(shí)現(xiàn)過(guò)程
本文介紹CSS3和jQuery在登錄界面設(shè)計(jì)中的應(yīng)用,涵蓋動(dòng)畫(huà)、選擇器、自定義字體及盒模型技術(shù),提升界面美觀與交互性,同時(shí)優(yōu)化性能和可訪問(wèn)性,感興趣的朋友跟隨小編一起看看吧2025-06-20CSS普通流、浮動(dòng)與定位網(wǎng)頁(yè)布局三大機(jī)制及最佳實(shí)踐
本文給大家講解CSS 的三種核心布局機(jī)制——普通流(Normal Flow)、浮動(dòng)(Float)和定位(Positioning)對(duì)于創(chuàng)建靈活、響應(yīng)式的網(wǎng)頁(yè)至關(guān)重要,本文將深入探討這三種機(jī)制的工作原2025-06-19
css實(shí)現(xiàn)角標(biāo)效果并帶有文章或圖標(biāo)效果(完整代碼)
文章介紹如何用CSS實(shí)現(xiàn)角標(biāo)效果,通過(guò).active類結(jié)合::after和::before偽元素,利用定位、邊框和旋轉(zhuǎn)創(chuàng)建紅色邊框與白色三角形的提示標(biāo)志,適用于按鈕或卡片元素的視覺(jué)增強(qiáng)設(shè)計(jì)2025-06-19CSS Anchor Positioning重新定義錨點(diǎn)定位的時(shí)代來(lái)臨(最新推薦)
CSS Anchor Positioning是一項(xiàng)仍在草案中的新特性,由 Chrome 125 開(kāi)始提供原生支持需啟用實(shí)驗(yàn) flag,它允許你在 CSS 中通過(guò)錨點(diǎn)(anchor)來(lái)相對(duì)于任意 DOM 元素定位,本文2025-06-17CSS中的Static、Relative、Absolute、Fixed、Sticky的應(yīng)用與詳細(xì)對(duì)比
CSS 中的 position 屬性用于控制元素的定位方式,不同的定位方式會(huì)影響元素在頁(yè)面中的布局和層疊關(guān)系,以下是 static、relative、absolute、fixed、sticky 的詳細(xì)對(duì)比和應(yīng)用2025-06-17CSS place-items: center解析與用法詳解
place-items: center; 是一個(gè)強(qiáng)大的 CSS 簡(jiǎn)寫(xiě)屬性,用于同時(shí)控制 網(wǎng)格(Grid) 和 彈性盒(Flexbox) 布局中的對(duì)齊方式,本文給大家介紹CSS place-items: center; 詳解與用法2025-06-17
CSS實(shí)現(xiàn)元素?fù)螡M剩余空間的五種方法
在日常開(kāi)發(fā)中,我們經(jīng)常需要讓某個(gè)元素占據(jù)容器的剩余空間,本文將介紹5種不同的方法來(lái)實(shí)現(xiàn)這個(gè)需求,并分析各種方法的優(yōu)缺點(diǎn),感興趣的朋友一起看看吧2025-06-17CSS中前端單位 px、vw、vh 等的區(qū)別與使用建議
CSS單位區(qū)別與使用場(chǎng)景總結(jié):px絕對(duì)、vw/vh響應(yīng)式,%繼承父尺寸,em/rem文字縮放,vmin/vmax適應(yīng)寬高變化,固定布局用px或%,響應(yīng)式布局用vw/vh/rem,文字用em或rem,本文給大家2025-06-16CSS 樣式表的四種應(yīng)用方式及css注釋的應(yīng)用小結(jié)
這篇文章主要介紹了CSS 樣式表的四種應(yīng)用方式及css注釋的應(yīng)用小結(jié),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2025-05-21CSS中padding基本概念及簡(jiǎn)單寫(xiě)法
在CSS布局中,padding屬性是控制元素內(nèi)容與其邊框之間距離的關(guān)鍵工具,本文介紹CSS基礎(chǔ)中padding,通過(guò)本文的介紹,我們深入了解了padding的基本概念、簡(jiǎn)寫(xiě)方法以及它對(duì)元2025-05-16




