用CSS3打造HTML5的Logo

来源:http://www.cnblogs.com/shouce/archive/2016/04/20/5411066.html
-Advertisement-
Play Games

本文將向大家介紹如何利用CSS3的新樣式屬性製作一個HTML5的Logo。我們先來看看最終的效果: 不要懷疑,上面的logo完全由HTML+CSS實現。我們將logo劃分為盾形、數字5和輻射背景三大部分,下麵將分別實現每個部分。 盾形 盾形在外形上是左右對稱的,因此我們可先完成左半邊,右半邊可複製過 ...


本文將向大家介紹如何利用CSS3的新樣式屬性製作一個HTML5的Logo。我們先來看看最終的效果:


不要懷疑,上面的logo完全由HTML+CSS實現。我們將logo劃分為盾形、數字5和輻射背景三大部分,下麵將分別實現每個部分。

盾形

盾形在外形上是左右對稱的,因此我們可先完成左半邊,右半邊可複製過來再修改一些參數。左半邊準備用三個div實現,其中有兩個div需要傾斜一定的角度來實現盾形的左邊和底邊,這裡使用transform的skew來完成。代碼如下(註意,這裡只使用了webkit首碼的樣式,僅在Chrome、Safari等Webkit內核瀏覽器支持):

 

<!-- left side -->
<div class="dark_orange" style="left:32px;width:140px;height:346px;"></div>
<div class="dark_orange" style="-webkit-transform:skewx(5deg);left:16px;width:100px;height:346px;"></div>
<div class="dark_orange" style="-webkit-transform:skewy(15deg);top:265px;left:32px;width:140px;height:100px;"></div>

 

其中,CSS樣式定義所有div都是絕對定位,dark_orange類指定了一個橘色背景:

 

div{position:absolute}
.dark_orange
{background:#e15016}

 

我們看一下效果:

下麵我們再複製一遍HTML,修改一些參數作為盾形的右側:

 

<!-- right side -->
<div class="dark_orange" style="left:172px;width:140px;height:346px;"></div>
<div class="dark_orange" style="-webkit-transform:skewx(-5deg);left:227px;width:100px;height:346px;"></div>
<div class="dark_orange" style="-webkit-transform:skewy(-15deg);top:265px;left:172px;width:140px;height:100px;"></div>

 

效果如下:

盾形的右側裡面有淺色的區域,我們將盾的右側複製一份通過scale縮小一點,此外還需要調整一些樣式屬性:

 

<!-- inner -->
<div style="-webkit-transform:scale(0.82);left:31px;top:25px">
<div class="light_orange" style="left:172px;width:140px;height:346px;"></div>
<div class="light_orange" style="-webkit-transform:skewx(-5deg);left:227px;width:100px;height:363px;"></div>
<div class="light_orange" style="-webkit-transform:skewy(-15deg);top:282px;left:172px;width:138px;height:100px;"></div>
</div>

 

light_orange對應淺一點兒的背景色:

 

.light_orange{background:#ee6812}

 

盾形已經完成了:

數字5

數字5由若幹div組成,傾斜的效果依舊通過skew來控制:

 

複製代碼 <!-- 5 -->
<div class="light_gray" style="height:43px;width:102px;left:70px;top:70px"></div>
<div class="light_gray" style="width:46px;height:216px;-webkit-transform:skewx(5deg);top:70px;left:75px;"></div>
<div class="light_gray" style="height:43px;width:95px;left:77px;top:156px"></div>
<div class="light_gray" style="height:47px;width:87px;left:85px;top:251px;-webkit-transform:skewy(15deg)"></div>

<div class="white" style="height:43px;width:102px;left:172px;top:70px"></div>
<div class="white" style="width:46px;height:216px;-webkit-transform:skewx(-5deg);top:70px;left:223px;"></div>
<div class="white" style="height:43px;width:95px;left:172px;top:156px"></div>
<div class="white" style="height:47px;width:87px;left:172px;top:251px;-webkit-transform:skewy(-15deg)"></div>
複製代碼

 

light_gray類和white類對應的樣式:

 

.light_gray{background:#ebebeb}
.white
{background:#fff}

 

我們看到如下效果:

為了最終實現數字5,我們需要在兩個位置打兩個“補丁”:

 

<!-- patch -->
<div class="dark_orange" style="height:20px;top:199px;width:80px;left:60px;"></div>
<div class="light_orange" style="height:43px;top:113px;width:100px;left:180px;"></div>

 

最終效果:

輻射背景

輻射背景主要使用rotate來完成,這裡我貼出完整的代碼:

 

複製代碼 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>HTML5 logo</title>
<style>
div
{position:absolute}
.dark_orange
{background:#e15016}
.light_orange
{background:#ee6812}
.light_gray
{background:#ebebeb}
.white
{background:#fff}
.beam
{width:1600px;height:20px;-webkit-transform-origin:800 10;top:290px;left:-400px}
</style>
</head>
<body style="margin:0;padding:0">
<div class="bg" style="width:800px;height:600px;background:#f2f2f2;overflow:hidden">

<div class="white beam" style="-webkit-transform:rotate(5deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(15deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(25deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(35deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(45deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(55deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(65deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(75deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(85deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(95deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(105deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(115deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(125deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(135deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(145deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(155deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(165deg)"></div>
<div class="white beam" style="-webkit-transform:rotate(175deg)"></div>



<div class="logo" style="top:120px;left:229px;">
<!-- left side -->
<div class="dark_orange" style="left:32px;width:140px;height:346px;"></div>
<div class="dark_orange" style="-webkit-transform:skewx(5deg);left:16px;width:100px;height:346px;"></div>
<div class="dark_orange" style="-webkit-transform:skewy(15deg);top:265px;left:32px;width:140px;height:100px;"></div>
<!-- right side -->
<div class="dark_orange" style="left:172px;width:140px;height:346px;"></div>
<div class="dark_orange" style="-webkit-transform:skewx(-5deg);left:227px;width:100px;height:346px;"></div>
<div class="dark_orange" style="-webkit-transform:skewy(-15deg);top:265px;left:172px;width:140px;height:100px;"></div>
<!-- inner -->
<div style="-webkit-transform:scale(0.82);left:31px;top:25px">
<div class="light_orange" style="left:172px;width:140px;height:346px;"></div>
<div class="light_orange" style="-webkit-transform:skewx(-5deg);left:227px;width:100px;height:363px;"></div>
<div class="light_orange" style="-webkit-transform:skewy(-15deg);top:282px;left:172px;width:138px;height:100px;"></div>
</div>
<!-- 5 -->
<div class="light_gray" style="height:43px;width:102px;left:70px;top:70px"></div>
<div class="light_gray" style="width:46px;height:216px;-webkit-transform:skewx(5deg);top:70px;left:75px;"></div>
<div class="light_gray" style="height:43px;width:95px;left:77px;top:156px"></div>
<div class="light_gray" style="height:47px;width:87px;left:85px;top:251px;-webkit-transform:skewy(15deg)"></div>

<div class="white" style="height:43px;width:102px;left:172px;top:70px"></div>
<div class="white" style="width:46px;height:216px;-webkit-transform:skewx(-5deg);top:70px;left:223px;"></div>
<div class="white" style="height:43px;width:95px;left:172px;top:156px"></div>
<div class="white" style="height:47px;width:87px;left:172px;top:251px;-webkit-transform:skewy(-15deg)"></div>
<!-- patch -->
<div class="dark_orange" style="height:20px;top:199px;width:80px;left:60px;"></div>
<div class="light_orange" style="height:43px;top:113px;width:100px;left:180px;"></div>
</div>
<!-- end of logo -->
</div>
<!-- end of bg -->
</body>
</html>
複製代碼

 

HTML5的logo已經完成了!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文章向碼農介紹css3選擇器的使用方法和總結,包括通用選擇器,屬性選擇器,偽類選擇器,對css選擇器相關知識感興趣的碼農可以閱讀一下本文章。 一 通用選擇器 1 *{}通配選擇符(CSS2):適合所有元素對象。2 E類型(HTML)選擇符(CSS1):以文檔語言對象類型DOM作為選擇符。3 E#m ...
  • 原文地址:http://www.neoease.com/css-z-index-property-and-layering-tree/ CSS 中的 z-index 屬性用於設置節點的堆疊順序, 擁有更高堆疊順序的節點將顯示在堆疊順序較低的節點前面, 這是我們對 z-index 屬性普遍的認識. 與 ...
  • 1.html代碼 <div id="qrcode" style="width:200px; height:200px;position: fixed;bottom: 40%; right: 20%;"></div> 2.引入外部js文件 <script src="QRCode.js"></scrip ...
  • Ruby(或cmd中)輸入命令行編譯sass步驟如下: (1)舉例而言:首先在F盤下建立一個總文件夾,比如test文件夾;其次在該文件夾下建立html,images,js,sass等文件夾。 (2)在sass文件夾中創建要使用到的sass文件。例如common.scss,reset.scss,con ...
  • 用js模擬jQuery方法,體會封裝思想 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>simulationJquery.html</title> </head><body> <img src=images/123.jpg/> <in ...
  • background-size的基本屬性 background-size: 可以設定背景圖像的尺寸,該屬性是css3中的,在移動端使用的地方很多,比如最常見的地方在做響應性佈局的時候,比如之前做的項目中有輪播圖片,為了自適應不同大小解析度的圖片,我門需要使用css3中的媒體查詢來針對不同的解析度設置 ...
  • JavaScript是一個絕冠全球的編程語言,可用於Web開發、移動應用開發(PhoneGap、Appcelerator)、伺服器端開發(Node.js和Wakanda)等等。JavaScript還是很多新手踏入編程世界的第一個語言。既可以用來顯示瀏覽器中的簡單提示框,也可以通過nodebot或no ...
  • 如果你看到這篇文章,我確信你毫無疑問會認為jQuery是一個使用簡便的庫。jQuery可能使用起來很簡單,但是它仍然有一些奇怪的地方,對它基本功能和概念不熟悉的人可能會難以掌握。但是不用擔心,我下麵已經把代碼劃分成小部分,做了一個簡單的指導。那些語法看起來可能過於複雜,但是如果進入到它的思想和模式中 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...