年暑假實習了四個月的前端,接觸了很多前端相關的東西,覺得前端真的比后端有趣多了啊,又好玩又有趣,相比后端千篇一律的代碼,前端的千變萬化一瞬間俘獲了我的心~~~~~
下面列舉一些基礎的前端圖形制作代碼,希望對大家有用喲。
為了讓大家能輕松愉快地跟著我的代碼動手測試,更為了讓一點計算機基礎都沒有的小伙伴也能跟著我下面的代碼來自己動手玩耍,我先簡單給出一個基礎的HTML,大家可以像我這樣新建一個HTML文件,然后復制下面的代碼到文件中:(不知道怎么用記事本建html的小伙伴可以去看我的另外一篇文章:使用 Notepad 或 TextEdit 來編寫 HTML。)
<html> <body> <h1>有趣的前端圖形</h1> <div id="square"> </div> <style> #square { width: 100px; height: 100px; background: red; } </style> </body> </html>
好了,現在點擊使用瀏覽器打開上面的文件,是不是看到了下面的圖像呢:
如果你已經看到了上面的圖像,那么恭喜你,你可以繼續往下看下去了,下面有更多有趣的圖形等著你哦。
將下面的代碼放到<style></style>中,并把<div>中的id改為circle
#circle { width: 100px; height: 100px; background: red; -moz-border-radius: 50px; -webkit-border-radius: 50px; border-radius: 50px; }
你就得到了一個可愛的圓:
當然顏色啥的,可以隨便改啊~
#oval { width: 200px; height: 100px; background: red; -moz-border-radius: 100px / 50px; -webkit-border-radius: 100px / 50px; border-radius: 100px / 50px; }
結果如下:
正三角:
#triangle-up { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 100px solid red; }
倒三角:
#triangle-down { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-top: 100px solid red; }
#star-five { margin: 50px 0; position: relative; display: block; color: red; width: 0px; height: 0px; border-right: 100px solid transparent; border-bottom: 70px solid red; border-left: 100px solid transparent; -moz-transform: rotate(35deg); -webkit-transform: rotate(35deg); -ms-transform: rotate(35deg); -o-transform: rotate(35deg); } #star-five:before { border-bottom: 80px solid red; border-left: 30px solid transparent; border-right: 30px solid transparent; position: absolute; height: 0; width: 0; top: -45px; left: -65px; display: block; content: ''; -webkit-transform: rotate(-35deg); -moz-transform: rotate(-35deg); -ms-transform: rotate(-35deg); -o-transform: rotate(-35deg); } #star-five:after { position: absolute; display: block; color: red; top: 3px; left: -105px; width: 0px; height: 0px; border-right: 100px solid transparent; border-bottom: 70px solid red; border-left: 100px solid transparent; -webkit-transform: rotate(-70deg); -moz-transform: rotate(-70deg); -ms-transform: rotate(-70deg); -o-transform: rotate(-70deg); content: ''; }
結果:
#star-six { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 100px solid red; position: relative; } #star-six:after { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-top: 100px solid red; position: absolute; content: ""; top: 30px; left: -50px; }
長這樣:
#infinity { position: relative; width: 212px; height: 100px; } #infinity:before, #infinity:after { content: ""; position: absolute; top: 0; left: 0; width: 60px; height: 60px; border: 20px solid red; -moz-border-radius: 50px 50px 0 50px; border-radius: 50px 50px 0 50px; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); } #infinity:after { left: auto; right: 0; -moz-border-radius: 50px 50px 50px 0; border-radius: 50px 50px 50px 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
最后來一個愛你的形狀吧~~~~
心形~~~
先放最終結果:
代碼:
#heart { position: relative; width: 100px; height: 90px; } #heart:before, #heart:after { position: absolute; content: ""; left: 50px; top: 0; width: 50px; height: 80px; background: red; -moz-border-radius: 50px 50px 0 0; border-radius: 50px 50px 0 0; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transform-origin: 0 100%; -moz-transform-origin: 0 100%; -ms-transform-origin: 0 100%; -o-transform-origin: 0 100%; transform-origin: 0 100%; } #heart:after { left: 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); -webkit-transform-origin: 100% 100%; -moz-transform-origin: 100% 100%; -ms-transform-origin: 100% 100%; -o-transform-origin: 100% 100%; transform-origin :100% 100%; }
更多好玩的圖形,盡在hello程序媛哦~~
當然,上面的代碼我也已經整理好啦,需要的童鞋可以私信我領取代碼呀。
另外,不懂如何使用電腦自帶的記事本編輯html的小伙伴,也可以私信問我哦,我一定知無不答答無不盡~~
tml5中是怎么實現繪制圖形?
html5中可以實現繪畫圖形的功能,需要注意的是html5只提供2D,不提供3D繪畫功能。canvas元素是H5總新增的元素,它用來專門繪制圖形。你也可以把canvas元素理解成一塊“畫布”,我們可以在其中繪制圖形。在canvas元素中繪畫不是拿鼠標來繪制圖形,實際上在H5完成繪畫功能,不僅僅需要canvas元素,而且需要JavaScript腳本來配合才能完成繪制圖形。所以說把html5中的canvas元素理解成畫布是是合適不過的。
html5中的canvas元素
canvas元素必須要指定id、width(寬)、height(高)屬性,雖然canvas元素是H5中用來繪制的圖形,但是它的放置放和其他的元素沒有區別。比如說canvas id="myCanvas" width="200" height="100"是放置了一個200*100的canvas元素。
html5中的常用的繪制圖形
繪制矩形
創建canvas元素→取得上下文(使用canvas對象的getcontent方法獲得上下文)→填充繪制邊框→設定樣式→指定線寬、顏色。代碼如下圖:
可以用clearRect方法擦除指定區域的圖形,使矩形區域顏色變透明,context.clearRect(x,y,width,height)。
繪制圓形
繪制圓形要比矩形復雜一點,需要使用到路徑,創建圖形路徑→關閉路徑→調用繪制方法、路徑。代碼如下:
cxt.beginPath();是開始創建路徑,有幾次是循環創建路徑,每次開始都需要調用beginPath()函數。
cxt.arc(70,18,15,0,Math.PI*2,true);是是創建路徑,使用了arc()方法,它的語法如下:
cxt.closePath();cxt.fill();關閉繪畫路徑后調用繪制路徑。最后給大家一個作業,你可以試試下面的代碼在瀏覽器執行后會是什么圖形?
關于“html5中繪制圖形”先聊到這。每天學習一個知識點,每日寄語”人生之苦,苦在選擇,人生之難,難在放棄”如轉載清標明出處。
TML和CSS中的幾何圖形案例
HTML代碼
<div class="container"></div> <div class="container2"></div> <div class="container3"></div> <div class="container4"></div> <div class="star"></div> <div class="star2"></div> <div class="star3"></div> <div class="star4"></div> <div class="star5"></div> <div class="star6"></div> <div class="center"></div> <div class="center2"></div> <div class="center3"></div> <div class="center4"></div> <div class="center5"></div> <div class="center6"></div>
css代碼
html,body,div {width:100%;height:100%;} body {background:#2f2933;overflow:hidden;} div { position:absolute; left:0; right:0; top:0; bottom:0; margin-right:auto; margin-left:auto; margin-top:auto; margin-bottom:auto; } .container,.center6 { background-color:#ffffa6; background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #ffffa6),color-stop(1, #bdf271)); background-image: -o-linear-gradient(bottom, #ffffa6 0%, #bdf271 100%); background-image: -moz-linear-gradient(bottom, #ffffa6 0%, #bdf271 100%); background-image: -webkit-linear-gradient(bottom, #ffffa6 0%, #bdf271 100%); background-image: -ms-linear-gradient(bottom, #ffffa6 0%, #bdf271 100%); background-image: linear-gradient(to bottom, #ffffa6 0%, #bdf271 100%); } .container2,.center5 { background-color:#bdf271; background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #bdf271),color-stop(1, #29d9c2)); background-image: -o-linear-gradient(bottom, #bdf271 0%, #29d9c2 100%); background-image: -moz-linear-gradient(bottom, #bdf271 0%, #29d9c2 100%); background-image: -webkit-linear-gradient(bottom, #bdf271 0%, #29d9c2 100%); background-image: -ms-linear-gradient(bottom, #bdf271 0%, #29d9c2 100%); background-image: linear-gradient(to bottom, #bdf271 0%, #29d9c2 100%); -webkit-animation-delay:200ms; -moz-animation-delay:200ms; -o-animation-delay:200ms; animation-delay:200ms; } .container3,.center4 { background-color:#29d9c2; background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #29d9c2),color-stop(1, #01a2a6)); background-image: -o-linear-gradient(bottom, #29d9c2 0%, #01a2a6 100%); background-image: -moz-linear-gradient(bottom, #29d9c2 0%, #01a2a6 100%); background-image: -webkit-linear-gradient(bottom, #29d9c2 0%, #01a2a6 100%); background-image: -ms-linear-gradient(bottom, #29d9c2 0%, #01a2a6 100%); background-image: linear-gradient(to bottom, #29d9c2 0%, #01a2a6 100%); -webkit-animation-delay:400ms; -moz-animation-delay:400ms; -o-animation-delay:400ms; animation-delay:400ms; } .container4,.center { background-color:#f4f4f4; background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f4f4f4),color-stop(1, #2f2933)); background-image: -o-linear-gradient(bottom, #f4f4f4 0%, #2f2933 100%); background-image: -moz-linear-gradient(bottom, #f4f4f4 0%, #2f2933 100%); background-image: -webkit-linear-gradient(bottom, #f4f4f4 0%, #2f2933 100%); background-image: -ms-linear-gradient(bottom,#f4f4f4 0%, #2f2933 100%); background-image: linear-gradient(to bottom, #f4f4f4 0%, #2f2933 100%); -webkit-animation-delay:600ms; -moz-animation-delay:600ms; -o-animation-delay:600ms; animation-delay:600ms; } .container,.container2,.container3,.container4 { -webkit-animation:container 1s infinite linear; -moz-animation:container 1s infinite linear; -o-animation:container 1s infinite linear; animation:container 1s infinite linear; opacity:0.5; } .container{ width:400px; height:400px; border-radius:200px; z-index:6; } .container2 { width:500px; height:500px; border-radius:250px; z-index:5; } .container3 { width:600px; height:600px; border-radius:300px; z-index:4; } .container4 { width:700px; height:700px; border-radius:350px; z-index:3; } .star,.star:after,.star2,.star2:after,.star3,.star3:after,.star4,.star4:after,.star5,.star5:after,.star6,.star6:after { width: 0; height: 0; border-left: 130px solid transparent; border-right: 130px solid transparent; } .star,.star2,.star3,.star4,.star5,.star6 {top:-5%;} .star:after,.star2:after,.star3:after,.star4:after,.star5:after,.star6:after { position: absolute; content: ""; top: 60px; left: -130px; } .star {border-bottom: 250px solid #ff4669;z-index:12;} .star:after {border-top: 250px solid #ff4669;} .star2 { border-bottom: 250px solid #ff86c1; z-index:11; -webkit-transform: rotate(-30deg) translateX(-15px) translateY(0px); -moz-transform: rotate(-30deg) translateX(-15px) translateY(0px); -o-transform: rotate(-30deg) translateX(-15px) translateY(0px); transform: rotate(-30deg) translateX(-15px) translateY(0px); } .star2:after {border-top: 250px solid #ff86c1;} .star3{ border-bottom: 250px solid #ff4691; z-index:10; -webkit-transform: rotate(-35deg) translateX(-15px) translateY(0px); -moz-transform: rotate(-35deg) translateX(-15px) translateY(0px); -o-transform: rotate(-35deg) translateX(-15px) translateY(0px); transform: rotate(-35deg) translateX(-15px) translateY(0px); } .star3:after {border-top: 250px solid #ff4691;} .star4{ border-bottom: 250px solid #ff4691; z-index:9; -webkit-transform: rotate(-40deg) translateX(-15px) translateY(0px); -moz-transform: rotate(-40deg) translateX(-15px) translateY(0px); -o-transform: rotate(-40deg) translateX(-15px) translateY(0px); transform: rotate(-40deg) translateX(-15px) translateY(0px); } .star4:after {border-top: 250px solid #ff4669;} .star5{ border-bottom: 250px solid #ff4669; z-index:8; -webkit-transform: rotate(-45deg) translateX(-15px) translateY(0px); -moz-transform: rotate(-45deg) translateX(-15px) translateY(0px); -o-transform: rotate(-45deg) translateX(-15px) translateY(0px); transform: rotate(-45deg) translateX(-15px) translateY(0px); } .star5:after {border-top: 250px solid #ff4669;} .star6{ border-bottom: 250px solid #ff4669; z-index:7; -webkit-transform: rotate(-50deg) translateX(-15px) translateY(0px); -moz-transform: rotate(-50deg) translateX(-15px) translateY(0px); -o-transform: rotate(-50deg) translateX(-15px) translateY(0px); transform: rotate(-50deg) translateX(-15px) translateY(0px); } .star6:after {border-top: 250px solid #ff4669;} .center,.center2,.center3,.center4,.center5,.center6 { -webkit-animation:container 1s infinite linear; -moz-animation:container 1s infinite linear; -o-animation:container 1s infinite linear; animation:container 1s infinite linear; opacity:0.5; } .center { width:60px; height:60px; border-radius:30px; z-index:13; } .center2 { width:50px; height:50px; border-radius:25px; background:#2f2933; z-index:14; } .center3 { width:40px; height:40px; border-radius:20px; background:#2f2933; z-index:15; } .center4 { width:30px; height:30px; border-radius:15px; z-index:16; } .center5 { width:20px; height:20px; border-radius:10px; z-index:17; } .center6 { width:10px; height:10px; border-radius:5px; z-index:18; } /*animation container*/ @-webkit-keyframes container { 0% {-webkit-transform:rotate(0deg);transform:rotate(0deg);} 100% {-webkit-transform:rotate(360deg);transform:rotate(360deg);} } @-moz-keyframes container { 0% {-moz-transform:rotate(0deg);transform:rotate(0deg);} 100% {-moz-transform:rotate(360deg);transform:rotate(360deg);} } @-o-keyframes container { 0% {-o-transform:rotate(0deg);transform:rotate(0deg);} 100% {-o-transform:rotate(360deg);transform:rotate(360deg);} } @keyframes container { 0% {transform:rotate(0deg);} 100% {transform:rotate(360deg);} }
(本文如有侵權,請聯系作者,必刪)
*請認真填寫需求信息,我們會在24小時內與您取得聯系。