<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          首頁

          前端學習大綱

          前端達人

          第一階段:

          • HTML+CSS:

          HTML進階、CSS進階、div+css布局、HTML+css整站開發、

          • JavaScript基礎:

          Js基礎教程、js內置對象常用方法、常見DOM樹操作大全、ECMAscript、DOM、BOM、定時器和焦點圖。

          • JS基本特效:

          常見特效、例如:tab、導航、整頁滾動、輪播圖、JS制作幻燈片、彈出層、手風琴菜單、瀑布流布局、滾動事件、滾差視圖。

          • JS高級特征:

          正則表達式、排序算法、遞歸算法、閉包、函數節流、作用域鏈、基于距離運動框架、面向對象基礎、

          • JQuery:基礎使用

          懸著器、DOM操作、特效和動畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。

          第二階段:HTML5和移動Web開發

          • HTML5:

          HTML5新語義標簽、HTML5表單、音頻和視頻、離線和本地存儲、SVG、Web Socket、Canvas.

          • CSS3:

          CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動畫、景深和深透、3D效果制作、Velocity.js框架、元素進場、出場策略、炫酷CSS3網頁制作。

          • Bootstrap:

          響應式概念、媒體查詢、響應式網站制作、刪格系統、刪格系統原理、Bootstrap常用模板、LESS和SASS。

          • 移動Web開發:

          跨終端WEB和主流設備簡介、視口、流式布局、彈性盒子、rem、移動終端JavaScript事件、手機中常見JS效果制作、Zepto.js、手機聚劃算頁面、手機滾屏。

          第三階段:HTTP服務和AJAX編程

          • WEB服務器基礎:

          服務器基礎知識、Apache服務器和其他WEB服務器介紹、Apache服務器搭建、HTTP介紹。

          • PHP基礎:

          PHP基礎語法、使用PHP處理簡單的GET或者POST請求、

          • AJAX上篇:

          Ajax簡介和異步的概念、Ajax框架的封裝、XMLHttpRequest對象詳細介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。

          • AJAX下篇:

          JSON和JSON解析、數據綁定和模板技術、JSONP、跨域技術、圖片預讀取和lazy-load技術、JQuery框架中的AjaxAPI、使用Ajax實現爆布流案例額。

          第四階段:面向對象進階

          • 面向對象終極篇:

          從內存角度到理解JS面向對象、基本類型、復雜類型、原型鏈、ES6中的面向對象、屬性讀寫權限、設置器、訪問器。

          • 面向對象三大特征:

          繼承性、多態性、封裝性、接口。

          • 設計模式:

          面向對象編程思維、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程。

          第五階段:封裝一個屬于自己的框架

          • 框架封裝基礎:

          事件流、冒泡、捕獲、事件對象、事件框架、選擇框架。

          • 框架封裝中級:

          運動原理、單物體運動框架、多物體運動框架、運動框架面向對象封裝。

          • 框架封裝高級和補充:

          JQuery框架雛形、可擴展性、模塊化、封裝屬于傳智自己的框架。

          第六階段:模塊化組件開發

          • 面向組件編程:

          面向組件編程的方式、面向組件編程的實現原理、面向組件編程實戰、基于組件化思想開發網站應用程序。

          • 面向模塊編程:

          AMD設計規范、CMD設計規范、RequireJS,LoadJS、淘寶的SeaJS。

          第七階段:主流的流行框架

          • Web開發工作流:

          GIT/SVN、Yeoman腳手架、NPM/Bower依賴管理工具、Grunt/Gulp/Webpack。

          • MVC/MVVM/MVW框架:

          Angular.js、Backbone.js、Knockout/Ember。

          • 常用庫:

          React.js、Vue.js、Zepto.js。

          第八階段:HTML5原生移動應用開發

          • Cordova:

          WebApp/NativeApp/HybirdApp簡介、Cordova簡介、與PhoneGap之間的關系、開發環境搭建、Cordova實戰(創建項目,配置,編譯,調試,部署發布)。

          • Ionic:

          Ionic簡介和同類對比、模板項目解析、常見組件及使用、結合Angular構建APP、常見效果(下拉刷新,上拉加載,側滑導航,選項卡)。

          • React Native:

          React Native簡介、React Native環境配置、創建項目,配置,編譯,調試,部署發布、原生模塊和UI組件、原生常用API。

          • HTML5+:

          HTML5+中國產業聯盟、HTML5 Plus Runtime環境、HBuilder開發工具、MUI框架、H5+開發和部署。

          第九階段:   Node.js全棧開發:

          • 快速入門:

          Node.js發展、生態圈、Io.js、Linux/Windows/OS X環境配置、REPL環境和控制臺程序、異步編程,非阻塞I/O、模塊概念,模塊管理工具、開發流程,調試,測試。

          • 核心模塊和對象:

          全局對象global,process,console,util、事件驅動,事件發射器、加密解密,路徑操作,序列化和反序列化、文件流操作、HTTP服務端與客戶端、Socket.IO。

          • Web開發基礎:

          HTTP協議,請求響應處理過程、關系型數據庫操作和數據訪問、非關系型數據庫操作和數據訪問、原生的Node.js開發Web應用程序、Web開發工作流、Node.js開發Blog案例。

          • 快速開發框架:

          Express簡介+MVC簡介、Express常用API、Express路由模塊、Jade/Ejs模板引擎、使用Express重構Blog案例、Koa等其他常見MVC框架。

          • Node.js開發電子商務實戰:

          需求與設計、賬戶模塊注冊登錄、會員中心模塊、前臺展示模塊、購物車,訂單結算、在線客服即時通訊模塊。

          MacOS查找各Python版本的路徑

          前端達人

          MacOS自帶Python路徑為:/System/Library/Frameworks/Python.framework/Versions
          自行安裝Python路徑為:/Library/Frameworks/Python.framework/Versions/
          打開Terminal
          切換工作路徑:cd /System/Library/Frameworks/Python.framework/Versions/current/bin
          打印相對路徑Python版本:./python --version
          打印當前用戶Python版本:python --version

          如下圖可以看到,系統Python版本為2.7,當前用戶Python為3.7

           

          使用which命令查看各版本Python的文件路徑

          系統命令默認路徑/usr/bin(系統預裝的可執行文件,隨系統升級而變化)
          用戶命令默認路徑/usr/local/bin(用戶安裝的可執行文件,不隨系統升級影響)
          其中,usrUnix System Resource

          可以看到/usr/bin中有python可執行命令,其版本為2.7.18,而/usr/local/bin則沒有python,存放的是python3.7的執行命令

           

          在Mac電腦上安裝Python環境可以按照以下步驟進行操作:

          步驟1: 下載Python安裝包

          訪問Python官方網站(https://www.python.org/downloads/macos/)下載適用于Mac的Python安裝包。根據你的操作系統版本選擇合適的安裝包,通常選擇最新的穩定版本。
          在這里插入圖片描述

          步驟2: 運行安裝包

          雙擊下載的Python安裝包,會出現一個安裝向導窗口。點擊"Continue"繼續安裝。
          在這里插入圖片描述

          步驟3: 配置安裝選項

          在安裝向導窗口中,可以選擇安裝Python的位置和其他可選組件。通常建議保持默認設置,然后點擊"Install"開始安裝。

          步驟4: 輸入管理員密碼

          安裝過程中,系統可能會要求輸入管理員密碼。輸入密碼并點擊"Install Software"繼續安裝。

          步驟5: 等待安裝完成

          安裝過程可能需要一些時間,請耐心等待直到安裝完成。

          步驟6: 驗證安裝結果

          安裝完成后,打開終端應用程序(Terminal),輸入以下命令驗證Python安裝是否成功:

          python3 -V
          
          • 1

          如果成功安裝,終端會顯示Python的版本號。

           

          產品經理如何與工程師合作?我總結了4個方面?。本┧{藍UI設計公司

          周周

          在產品線或者項目組中,開發工程師絕對是最大的群體,包含前端開發、后端開發、測試等崗位。之前做交互設計師時,跟開發人員直接的溝通并不多,主要在交互設計宣講和還原度測試時有些接觸。即使有些糾纏,也會通過產品經理進行協調,溝通的難度并不大。轉崗產品經理后,主要溝通對象就變成了開發工程師。今天來聊聊我遇到過或合作過的“開發大佬”們。

          干貨!四個章節深度解析「組件」知識點|蘭亭妙微UI設計公司

          濤濤

          干貨!四個章節深度解析「組件」知識點|蘭亭妙微UI設計公司


          第一章:組件的定義和基本概念
          在軟件開發領域,組件是指獨立的、可重用的軟件模塊,它們具有特定的功能和接口,可以被組合成更大的軟件系統。組件可以是軟件對象、類、庫、模塊或其他單位。它們通過定義輸入和輸出接口,以及實現特定功能來提供服務。
          組件的基本概念包括以下幾個方面:
          1.1 組件容器:組件容器是一個環境,用于加載、管理和執行組件。容器提供對組件的生命周期管理、通信和部署支持。組件容器可以是運行時環境(如操作系統、應用服務器)或特定的框架(如Java EE容器、ASP.NET容器)。
          1.2 組件接口:組件接口定義了組件對外提供的服務和合約。它包括輸入參數、輸出結果以及可能的異常。接口可以通過編程語言的接口、類、方法或其他機制來定義。
          1.3 組件協作:組件可以通過協作來完成更復雜的任務。協作可以通過組件之間的接口調用、事件觸發、消息傳遞等方式進行。協作可以實現任務的拆分、并行處理和功能擴展。
          1.4 組件復用:組件的重要特性是可復用性。組件的設計和實現應該考慮到復用的需求,使其可以在不同的上下文中被重復使用。組件復用可以提高開發效率、降低維護成本,并促進軟件系統的生態系統發展。
          第二章:組件化開發和架構模式
          2.1 組件化開發:組件化開發是一種軟件開發方法,通過將軟件系統劃分為獨立的組件來提高開發效率和質量。組件化開發促進了模塊化、可復用、可測試和可維護的代碼編寫。它還鼓勵團隊協作和并行開發。
          2.2 組件化架構模式:組件化架構模式是一種組織和管理組件的方式。常見的組件化架構模式包括面向服務架構(SOA)、微服務架構和組件協作模式等。這些架構模式通過定義組件之間的接口、通信和協議,實現了松耦合、可擴展和可替換的軟件系統。

          第三章:組件的優勢和挑戰
          3.1 組件的優勢:組件化開發具有許多優勢。首先,它提供了代碼重用和模塊化的機制,減少了開發工作量和維護成本。其次,組件可以提供標準化的接口,促進了團隊協作和模塊復用。此外,組件可以獨立測試和部署,提高了系統的可靠性和可擴展性。
          3.2 組件的挑戰:盡管組件化開發具有許多優勢,但也存在一些挑戰。首先,組件的設計和實現需要額外的工作和時間。其次,組件之間的協作和通信涉及到復雜的依賴關系和調試過程。此外,組件的版本管理和升級可能導致一些兼容性和穩定性的問題。
          第四章:組件化開發實踐和案例分析
          4.1 組件化開發實踐:組件化開發需要結合具體的技術和工具來實現。常見的組件化開發實踐包括使用面向對象編程、設計模式、依賴注入和模塊化打包工具等。此外,組件化開發還需要規范和標準來指導開發和集成。
          4.2 組件化開發案例分析:組件化開發已經在軟件開發領域得到廣泛應用。例如,Android開發中的組件化架構、Java EE中的Enterprise JavaBean、.NET中的組件模型等。這些案例提供了關于組件化開發的實踐經驗和最佳實踐。

          藍藍設計,工作室2008年開始,2011年正式成立北京蘭亭妙微科技有限公司,主創清華團隊,專注軟件和互聯網ui設計開發。擅長企業信息化管理、監控、大數據軟件UIUE咨詢和設計開發服務。立足UI,一直在學習進步。
          藍藍設計,秉承設計優秀,不斷超越的理念,誠信敬業、專業耐心的工作作風,進行設計服務創新,幫助企業進行軟件和互聯網產品的界面設計及開發升級,提供卓越的解決方案。對軟件界面用戶體驗與交互設計與實現,國際化標準和流行趨勢,進行不斷的研究和實踐,擁有豐富的解決問題經驗。

          讓用戶輸密碼的正確姿勢!簡化密碼設計的三個小秘籍

          濤濤

          讓用戶輸密碼的正確姿勢!簡化密碼設計的三個小秘籍

          2023-06-28 15:50北京北京蘭亭妙微科技有限公司官方帳號

          隨著互聯網的普及和數字化時代的來臨,密碼的重要性不言而喻。然而,很多人在設計密碼時往往面臨記憶難題和安全性問題。為了幫助用戶設計更簡化且安全的密碼,本文將介紹三個小秘籍。

          一、使用密碼管理工具

          密碼管理工具是一種方便且安全的方式來管理和存儲密碼。它們通常提供加密的存儲空間,可以儲存各種賬戶的用戶名和密碼。用戶只需記住一個主密碼,就能夠訪問和管理所有其他密碼。這樣,用戶可以選擇更復雜、更安全的密碼,而不必擔心記憶的問題。此外,密碼管理工具通常還提供自動生成密碼的功能,確保密碼的隨機性和安全性。一些常見的密碼管理工具包括LastPass、1Password和Keepass等。

          二、使用短語或句子作為密碼

          傳統的密碼通常由字符、數字和特殊符號組成,很難記憶且容易被猜測。相比之下,使用短語或句子作為密碼可以更容易記住且更安全。選擇一個有意義的短語或句子,并將其轉化為密碼。例如,"ILoveToTravelTheWorld!",這個短語可以轉化為密碼"Ilv2ttw!"。這樣的密碼不僅容易記憶,而且由于包含了大小寫字母、數字和特殊符號,具備了一定的安全性。

          三、使用多因素身份驗證

          多因素身份驗證是一種提高賬戶安全性的重要方式。除了使用密碼外,多因素身份驗證要求用戶提供第二個驗證因素,如手機驗證碼、指紋識別或硬件安全密鑰等。這樣,即使密碼被泄露,黑客也無法輕易訪問賬戶。許多在線服務提供了多因素身份驗證選項,用戶應該積極開啟并使用這個功能。

          綜上所述,設計簡化且安全的密碼并不是一件困難的事情。通過使用密碼管理工具、使用短語或句子作為密碼以及使用多因素身份驗證,用戶可以更好地保護自己的賬戶安全。重要的是,用戶應該時刻保持警惕,定期更換密碼,并避免在多個賬戶中使用相同的密碼,以確保個人信息的安全。

          今日分享這篇文章是藍藍設計的原創文章,未來將會持續在平臺上分享關于設計行業的文章。此外藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,添加vx藍小助ben_lanlan,報下信息,藍小助會請您入群。同時添加藍小助我們將會為您提供優秀的設計案例和設計素材等,歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

          藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務、UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

          js谷歌地圖 根據國家添加不同的點擊事件

          前端達人

          以下是在 JavaScript 和 Google 地圖 API 中添加點擊事件,根據國家進行不同操作的示例代碼:


          //創建地圖對象
          var map = new google.maps.Map(document.getElementById('map'), {
            zoom: 4,
            center: {lat: 37.0902, lng: -95.7129}
          });
          
          //創建信息窗口(infowindow)
          var infowindow = new google.maps.InfoWindow();
          
          //創建一個數組來存儲標記
          var markers = [];
          
          //為每個國家添加點擊事件
          google.maps.event.addListener(map, 'click', function(event) {
            //獲取點擊位置的經緯度坐標
            var latLng = event.latLng;
          
            //使用地理編碼器(geocoder)將經緯度坐標轉換為地址信息
            var geocoder = new google.maps.Geocoder();
            geocoder.geocode({'location': latLng}, function(results, status) {
              if (status === 'OK') {
                if (results[0]) {
                  //獲取點擊位置所在的國家名稱
                  var countryName = '';
                  for (var i = 0; i < results[0].address_components.length; i++) {
                    var component = results[0].address_components[i];
                    if (component.types.indexOf('country') !== -1) {
                      countryName = component.long_name;
                      break;
                    }
                  }
          
                  //根據國家名稱執行相應操作
                  switch (countryName) {
                    case 'China':
                      alert('您點擊了中國');
                      break;
                    case 'United States':
                      alert('您點擊了美國');
                      break;
                    default:
                      alert('您點擊了' + countryName);
                  }
          
                  //創建標記并將其添加到地圖上
                  var marker = new google.maps.Marker({
                    position: latLng,
                    map: map
                  });
          
          
          
          藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請加微信ban_lanlan,報下信息,藍小助會請您入群。歡迎您加入噢~~ 希望得到建議咨詢、商務合作,也請與我們聯系01063334945。  分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。  藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務、UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司 

          用cesium.js 制作一個球形地圖

          前端達人

          要用 Cesium.js 制作一個球形地圖,可以按照以下步驟:

          1. 在 HTML 文件中添加 Cesium.js 庫文件的引用??梢酝ㄟ^以下方式獲取最新版的 Cesium.js 庫文件鏈接:https://cesium.com/downloads/。

          2. 創建一個 div 元素來容納地球場景,并設置其樣式以占滿整個屏幕。

          3. 在 JavaScript 文件中創建 Cesium.Viewer 對象并將其附加到之前創建的 div 元素上。這將在屏幕上顯示一個球體,并啟動 Cesium.js 場景。

          4. 可以通過更改 Viewer 對象的屬性來自定義地球的外觀和行為。例如,可以更改攝像機的位置和方向、加載不同類型的地圖數據、添加標記等等。

          以下是一個簡單的示例代碼:


          <!DOCTYPE html>
          <html>
          <head>
              <meta charset="utf-8">
              <title>My Cesium App</title>
              <style>
                  #cesiumContainer {
                      width: 100%;
                      height: 100%;
                      margin: 0;
                      padding: 0;
                      overflow: hidden;
                  }
              </style>
              <script src="https://cesium.com/downloads/cesiumjs/releases/1.85/Build/Cesium/Cesium.js"></script>
              <link  rel="stylesheet">
          </head>
          <body>
              <div id="cesiumContainer"></div>
              <script>
                  var viewer = new Cesium.Viewer('cesiumContainer');
              </script>
          </body>
          </html>
          
          這將創建一個簡單的地球場景,可以在其中添加更
          藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請加微信ban_lanlan,報下信息,藍小助會請您入群。歡迎您加入噢~~ 希望得到建議咨詢、商務合作,也請與我們聯系01063334945。  分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。  藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務、UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司 

          CSS旋轉 動畫效果

          前端達人

          目錄

          動畫基本使用

           動畫序列

           動畫常見屬性

          動畫簡寫屬性

          大數據熱點圖案例

          速度曲線之steps步長


          動畫基本使用

          動畫(animation)是CSS3中具有顛覆性的特征之一,可通過設置多個節點來精確控制一個或一組動畫,常 用來實現復雜的動畫效果。

          相比較過渡,動畫可以實現更多變化,更多控制,連續自動播放等效果。

          制作動畫分為兩步: 1.先定義動畫 2.再使用(調用)動畫

          1. 用keyframes 定義動畫(類似定義類選擇器)

          @keyframes 動畫名稱 {

                             0%{

                                          width:100px;

                                          }

                                  100%{

                                          width:200px;

                          }

          }

          動畫序列 

          0% 是動畫的開始,100% 是動畫的完成。這樣的規則就是動畫序列。

          在 @keyframes 中規定某項 CSS 樣式,就能創建由當前樣式逐漸改為新樣式的動畫效果。

          動畫是使元素從一種樣式逐漸變化為另一種樣式的效果。您可以改變任意多的樣式任意的次數。

          請用百分比來規定變化發生的時間,或用關鍵詞 "from" 和 "to",等同于 0% 和 100%。

          2. 元素使用動畫

          div {

          width: 200px;

          height: 200px;

          background-color: aqua;

          margin: 100px auto; /* 調用動畫 */

          animation-name: 動畫名稱;

          /* 持續時間 */ animation-duration: 持續時間; } 

           
          
          1. <!DOCTYPE html>
          2. <html lang="en">
          3. <head>
          4. <meta charset="UTF-8">
          5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
          6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
          7. <title>Document</title>
          8. <style>
          9. /* 我們想頁面一打開,一個盒子就從左邊走到右邊 */
          10. /* 1. 定義動畫 */
          11. @keyframes move {
          12. /* 開始狀態 */
          13. 0% {
          14. transform: translateX(0px);
          15. }
          16. /* 結束狀態 */
          17. 100% {
          18. transform: translateX(1000px);
          19. }
          20. }
          21. div {
          22. width: 200px;
          23. height: 200px;
          24. background-color: pink;
          25. /* 2. 調用動畫 */
          26. /* 動畫名稱 */
          27. animation-name: move;
          28. /* 持續時間 */
          29. animation-duration: 2s;
          30. }
          31. </style>
          32. </head>
          33. <body>
          34. <div></div>
          35. </body>
          36. </html>

           動畫序列

           
          
          1. <!DOCTYPE html>
          2. <html lang="en">
          3. <head>
          4. <meta charset="UTF-8">
          5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
          6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
          7. <title>Document</title>
          8. <style>
          9. /* from to 等價于 0% 和 100% */
          10. /* @keyframes move {
          11. from {
          12. transform: translate(0, 0);
          13. }
          14. to {
          15. transform: translate(1000px, 0);
          16. }
          17. } */
          18. /* 動畫序列 */
          19. /* 1. 可以做多個狀態的變化 keyframe 關鍵幀 */
          20. /* 2. 里面的百分比要是整數 */
          21. /* 3. 里面的百分比就是 總的時間(我們這個案例10s)的劃分 25% * 10 = 2.5s */
          22. @keyframes move {
          23. 0% {
          24. transform: translate(0, 0);
          25. }
          26. 25% {
          27. transform: translate(1000px, 0)
          28. }
          29. 50% {
          30. transform: translate(1000px, 500px);
          31. }
          32. 75% {
          33. transform: translate(0, 500px);
          34. }
          35. 100% {
          36. transform: translate(0, 0);
          37. }
          38. }
          39. div {
          40. width: 100px;
          41. height: 100px;
          42. background-color: pink;
          43. animation-name: move;
          44. animation-duration: 10s;
          45. }
          46. </style>
          47. </head>
          48. <body>
          49. <div>
          50. </div>
          51. </body>
          52. </html>

           動畫常見屬性

           
          
          1. <!DOCTYPE html>
          2. <html lang="en">
          3. <head>
          4. <meta charset="UTF-8">
          5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
          6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
          7. <title>Document</title>
          8. <style>
          9. @keyframes move {
          10. 0% {
          11. transform: translate(0, 0);
          12. }
          13. 100% {
          14. transform: translate(1000px, 0);
          15. }
          16. }
          17. div {
          18. width: 100px;
          19. height: 100px;
          20. background-color: pink;
          21. /* 動畫名稱 */
          22. animation-name: move;
          23. /* 持續時間 */
          24. /* animation-duration: 2s; */
          25. /* 運動曲線 */
          26. /* animation-timing-function: ease; */
          27. /* 何時開始 */
          28. animation-delay: 1s;
          29. /* 重復次數 iteration 重復的 conut 次數 infinite 無限 */
          30. /* animation-iteration-count: infinite; */
          31. /* 是否反方向播放 默認的是 normal 如果想要反方向 就寫 alternate */
          32. /* animation-direction: alternate; */
          33. /* 動畫結束后的狀態 默認的是 backwards 回到起始狀態 我們可以讓他停留在結束狀態 forwards */
          34. /* animation-fill-mode: forwards; */
          35. /* animation: name duration timing-function delay iteration-count direction fill-mode; */
          36. /* animation: move 2s linear 0s 1 alternate forwards; */
          37. /* 前面2個屬性 name duration 一定要寫 */
          38. /* animation: move 2s linear alternate forwards; */
          39. }
          40. div:hover {
          41. /* 鼠標經過div 讓這個div 停止動畫,鼠標離開就繼續動畫 */
          42. animation-play-state: paused;
          43. }
          44. </style>
          45. </head>
          46. <body>
          47. <div>
          48. </div>
          49. </body>
          50. </html>

          動畫簡寫屬性

          linear 勻速

          animation:動畫名稱 持續時間 運動曲線 何時開始 播放次數 是否反方向 動畫起始或者結束的狀態

          animation: myfirst 5s linear 2s infinite alternate;

          簡寫屬性里面不包含 animation-play-state

          暫停動畫:animation-play-state: puased; 經常和鼠標經過等其他配合使用

          想要動畫走回來 ,而不是直接跳回來:animation-direction : alternate

          盒子動畫結束后,停在結束位置: animation-fill-mode : forwards 

          大數據熱點圖案例

          還沒聽。。


          速度曲線之steps步長
           

          animation-timing-function:規定動畫的速度曲線,默認是“ease“

           
          
          1. <!DOCTYPE html>
          2. <html lang="en">
          3. <head>
          4. <meta charset="UTF-8">
          5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
          6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
          7. <title>Document</title>
          8. <style>
          9. div {
          10. overflow: hidden;
          11. font-size: 20px;
          12. width: 0;
          13. height: 30px;
          14. background-color: pink;
          15. /* 讓我們的文字強制一行內顯示 */
          16. white-space: nowrap;
          17. /* steps 就是分幾步來完成我們的動畫 有了steps 就不要在寫 ease 或者linear 了 */
          18. animation: w 4s steps(10) forwards;
          19. }
          20. @keyframes w {
          21. 0% {
          22. width: 0;
          23. }
          24. 100% {
          25. width: 200px;
          26. }
          27. }
          28. </style>
          29. </head>
          30. <body>
          31. <div>世紀佳緣我在這里等你</div>
          32. </body>
          33. </html>

          CSS基礎學習——動畫

          前端達人

          一、CSS3 2D變形(利用Transfrom方法)

          1、rotate(angle)
          元素順時針旋轉給定的角度。允許負值,元素將逆時針旋轉。

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Title</title>
          </head>
          <style>
              div{
                  width: 100px;
                  height: 100px;
                  border: 1px solid red;
                  transform: rotate(30deg) ;
                  margin: 200px auto;
              }
          </style>
          <body>
              <div>
          
              </div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21

          效果如圖
          在這里插入圖片描述
          如果當rotate里面的值為負數時,比如ratate(-10deg),效果如圖:
          在這里插入圖片描述

          2、 translate(x,y)方法
          通過 translate() 方法,元素從其當前位置移動,根據給定的 left(x 坐標) 和 top(y 坐標) 位置參數。也就是相對于頁面左部和頂部的距離

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Title</title>
          </head>
          <style>
              div {
                  width: 100px;
                  height: 100px;
                  border: 1px solid red;
                  transform: translate(20px, 20px);
              }
          
          </style>
          <body>
          
              <div></div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20

          效果如下
          在這里插入圖片描述
          初次之外還有其他的參數

          transform: translate(200px);
          如果只帶一個參數,這個參數代表的是x方向位移值,y方向位移為0

          transform: translateX(200px);
          對X方向移動

          transform: translateY(200px);
          對Y方向移動

          3、scale() 方法
          通過 scale() 方法,元素的尺寸會增加或減少,根據給定的寬度(X 軸)和高度(Y 軸)參數

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Title</title>
          </head>
          <style>
              div {
                  width: 100px;
                  height: 100px;
                  border: 1px solid red;
                  transform: scale(2,0.5);
                  margin: 20px auto;
              }
          
          </style>
          <body>
          
              <div></div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21

          效果如圖
          在這里插入圖片描述
          可以看到,長邊變為了原來的兩倍,寬邊變為了原來的0.5倍

          transform: scale(1.5);x軸和y軸都放大1.5倍
          transform: scaleX(1.5);x軸放大1.5倍
          transform: scaleY(1.5);y軸放大1.5倍
          transform-origin: left top;改變中心點位置為左上角,當然還可以自由搭配,右下(right bottom),右上(right top)

          4、 skew() 方法
          通過 skew() 方法,元素翻轉給定的角度,根據給定的水平線(X 軸)和垂直線(Y 軸)參數。

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Title</title>
          </head>
          <style>
              div {
                  width: 100px;
                  height: 100px;
                  border: 1px solid red;
                  transform: skew(30deg,30deg);
                  margin: 200px auto;
              }
          
          </style>
          <body>
          
              <div></div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21

          效果如圖

          在這里插入圖片描述
          意思就是:圍繞 X 軸把元素翻轉 30 度,圍繞 Y 軸翻轉 30 度??赡芸雌饋肀容^抽象

          transform: skew(230deg);如果只帶一個參數,只有x軸方向的扭曲
          transform: skewX(230deg); 對X軸進行翻轉
          transform: skewY(230deg); 對Y軸進行翻轉

          其實還是很好理解的,比如兩個圖疊加在一起

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>Title</title>
          </head>
          <style>
              .demo{
                  width: 200px;
                  height: 200px;
                  margin: 200px auto;
                  border: 1px solid #000;
              }
          
              .box{
                  width: 200px;
                  height: 200px;
                  border: 1px solid red;
                  transform: skew(5deg,0deg);
              }
          
          </style>
          <body>
          <div class="demo">
              <div class="box"></div>
          </div>
          
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29

          在這里插入圖片描述
          可以看到,所謂的X軸翻轉,其實就是x方向的移動,上面的線向左移動5px,下面的線向右移動5px,加入Y也一樣
          比如:transform: skew(0deg,5deg);
          在這里插入圖片描述
          左邊的線向上移動5px,右邊的線向下移動5px,同時改變時 transform: skew(5deg,5deg);

          在這里插入圖片描述
          最好記的方式就是對角線的同時移動,左上右下是排斥,左下右上是吸引

          5、matrix() 方法
          matrix() 方法把所有 2D 轉換方法組合在一起。
          matrix() 方法需要六個參數,包含數學函數,允許您:旋轉、縮放、移動以及傾斜元素。

          如題:將div右移100px,下移200px,旋轉30度,x軸縮放1.5倍,y軸縮放2倍。

          (1)transform: translate(100px, 200px) rotate(30deg) scale(1.5, 2);

          (2)transform: matrix(1.299, 0.75, -1, 1.732, 100, 200)

          計算方法
          在這里插入圖片描述
          效果如圖
          在這里插入圖片描述

          6、transform-origin 屬性
          允許你改變被轉換元素的位置
          語法: transform-origin: x-axis y-axis z-axis;
          屬性值:
          x-axis :定義視圖被置于 X 軸的何處??赡艿闹担簂eft,center,right,length,%。
          y-axis :定義視圖被置于 Y 軸的何處??赡艿闹担簍op,center,bottom,length,%。
          z-axis :定義視圖被置于 Z 軸的何處??赡艿闹担簂ength。

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>transform-origin</title>
              <style>
                  *{
                      margin: 0;
                      padding: 0;
                  }
                  .demo{
                      width: 200px;
                      height: 200px;
                      margin: 200px auto;
                      border: 1px solid #000;
                  }
                  .box{
                      width: 200px;
                      height: 200px;
                      background-color: #f00;
                      transform: rotate(60deg);
                      transform-origin: right bottom;
                  }
              </style>
          </head>
          <body>
          <div class="demo">
              <div class="box"></div>
          </div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31

          效果如圖
          在這里插入圖片描述
          形象的來說,就是規定你從哪個角開始旋轉,比如規定右下角旋轉,則圖形以右下角為旋轉角,順時針旋轉60°

          二、CSS3 3D變形

          1、perspective屬性
          perspective 屬性定義 3D 元素距視圖的距離,以像素計。該屬性允許您改變 3D 元素查看 3D 元素的視圖。
          當為元素定義 perspective 屬性時,其子元素會獲得透視效果,而不是元素本身。
          注釋:perspective 屬性只影響 3D 轉換元素。
          語法: perspective: number|none;
          屬性值:
          number :元素距離視圖的距離,以像素計。
          none :默認值。與 0 相同。不設置透視

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>perspective</title>
              <style>
                  .father{
                      position: relative;
                      width: 200px;
                      height: 200px;
                      padding: 10px;
                      margin: 200px auto;
                      border: 1px solid #999;
                      perspective: 150px;
                  }
                  .son{
                      width: 100px;
                      height: 50px;
                      padding: 50px;
                      position: absolute;
                      border: 1px solid #f00;
                      background-color: #0ff;
                      transform: rotateX(45deg);
                  }
              </style>
          </head>
          <body>
          <div class="father">
              <div class="son"></div>
          </div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32

          效果如圖
          在這里插入圖片描述

          2、trasform-style屬性
          transform-style 屬性規定如何在 3D 空間中呈現被嵌套的元素。
          注釋:該屬性必須與 transform 屬性一同使用。
          語法: transform-style: flat|preserve-3d;
          屬性值:
          flat :子元素將不保留其 3D 位置。
          preserve-3d :子元素將保留其 3D 位置。

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>transform-style</title>
              <style>
                  .wrapper{
                      width: 200px;
                      height: 100px;
                      margin: 200px auto;
                  }
                  .div1,.div2{
                      width: 200px;
                      height: 100px;
                      padding: 20px;
                  }
                  .div1{
                      background-color: #f00;
                      transform: rotateY(30deg);
                      transform-style: preserve-3d;
          
                  }
                  .div2{
                      background-color: #655fff;
                      transform: rotateY(45deg);
                  }
              </style>
          </head>
          <body>
          <div class="wrapper">
              <div class="div1">div1
                  <div class="div2">div2</div>
              </div>
          </div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36

          效果如圖
          在這里插入圖片描述

          3、CSS3過渡
          transition 屬性是一個簡寫屬性,用于設置四個過渡屬性:
          transition-property:規定設置過渡效果的 CSS 屬性的名稱。
          transition-duration:規定完成過渡效果需要多少秒或毫秒。
          transition-timing-function:規定速度效果的速度曲線。
          transition-delay:定義過渡效果何時開始。
          注釋:請始終設置 transition-duration 屬性,否則時長為 0,就不會產生過渡效果。
          語法: transition: property duration timing-function delay;

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>transition過渡動畫</title>
              <style>
                  .box{
                      width: 100%;
                      height: 300px;
                      position: relative;
                      border: 1px solid #eee;
                  }
                  .demo{
                      width: 100px;
                      height: 100px;
                      background-color: #f00;
                      position: absolute;
                      left: 100px;
                      top: 100px;
                      transform: rotate(0deg);
                      transition-property: all;
                      transition-duration: .8s;
                  }
                  .box:hover .demo{
                      left: 500px;
                      width: 300px;
                      transform: rotate(45deg);
                  }
              </style>
          </head>
          <body>
          <div class="box">
              <div class="demo"></div>
          </div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36

          或者

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>transition過渡動畫</title>
              <style>
                  .box{
                      width: 100%;
                      height: 300px;
                      position: relative;
                      border: 1px solid #eee;
                  }
                  .demo{
                      width: 100px;
                      height: 100px;
                      background-color: #f00;
                      position: absolute;
                      left: 100px;
                      top: 100px;
                      transform: rotate(0deg);
                      transition: left 2s ease 500ms, width 5s ease-in-out;
                  }
                  .box:hover .demo{
                      left: 500px;
                      width: 300px;
                      transform: rotate(45deg);
                  }
              </style>
          </head>
          <body>
          <div class="box">
              <div class="demo"></div>
          </div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35

          可以自行實驗一下

          4、CSS3動畫

          使用@keyframes
          通過 @keyframes 規則,您能夠創建動畫。
          創建動畫的原理是,將一套 CSS 樣式逐漸變化為另一套樣式。
          在動畫過程中,您能夠多次改變這套 CSS 樣式。
          以百分比來規定改變發生的時間,或者通過關鍵詞 “from” 和 “to”,等價于 0% 和 100%。
          0% 是動畫的開始時間,100% 動畫的結束時間。
          為了獲得最佳的瀏覽器支持,您應該始終定義 0% 和 100% 選擇器。

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>關鍵幀動畫</title>
              <style>
                  .box{
                      width: 100%;
                      height: 800px;
                      position: relative;
                  }
                  .demo{
                      width: 100px;
                      height: 100px;
                      background-color: #ff0000;
                      -webkit-border-radius: 50%;
                      -moz-border-radius: 50%;
                      border-radius: 50%;
                      position: absolute;
                      /*animation: move 5s ease-in-out infinite alternate ;*/
                      -webkit-animation: move 5s ease-in-out 500ms 2 alternate ;
                      -moz-animation: move 5s ease-in-out 500ms 2 alternate ;
                      -ms-animation: move 5s ease-in-out 500ms 2 alternate ;
                      -o-animation: move 5s ease-in-out 500ms 2 alternate ;
                      animation: move 5s ease-in-out 500ms 2 alternate ;
                  }
                  @keyframes move {
                      0%{
                          left: 100px;
                      }
                      45%{
                          left: 200px;
                          top: 100px;
                          background-color: #00f;
                      }
                      75%{
                          left: 400px;
                          top: 300px;
                          background-color: #64ff77;
                      }
                      100%{
                          left: 500px;
                          top: 500px;
                          background-color: #ff4975;
                      }
                  }
              </style>
          </head>
          <body>
          <div class="box">
              <div class="demo"></div>
          </div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36
          • 37
          • 38
          • 39
          • 40
          • 41
          • 42
          • 43
          • 44
          • 45
          • 46
          • 47
          • 48
          • 49
          • 50
          • 51
          • 52
          • 53
          • 54

          或者

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>關鍵幀動畫</title>
              <style>
                  .box{
                      width: 100%;
                      height: 800px;
                      position: relative;
                  }
                  .demo{
                      width: 100px;
                      height: 100px;
                      background-color: #ff0000;
                      -webkit-border-radius: 50%;
                      -moz-border-radius: 50%;
                      border-radius: 50%;
                      position: absolute;
                      /*animation: move 5s ease-in-out infinite alternate ;*/
                      -webkit-animation: move 5s ease-in-out 500ms 2 alternate ;
                      -moz-animation: move 5s ease-in-out 500ms 2 alternate ;
                      -ms-animation: move 5s ease-in-out 500ms 2 alternate ;
                      -o-animation: move 5s ease-in-out 500ms 2 alternate ;
                      animation: move 5s ease-in-out 500ms 2 alternate ;
                  }
                  @keyframes move {
                     from{
                          left: 100px;
                      }
                      to{
                          left: 500px;
                          background-color: #00f;
                      }
                  }
          
              </style>
          </head>
          <body>
          <div class="box">
              <div class="demo"></div>
          </div>
          </body>
          </html> 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36
          • 37
          • 38
          • 39
          • 40
          • 41
          • 42
          • 43
          • 44

          animation:move 5s ease-in-out 500ms 2 alternate

          move:表示animation-name ,動畫名稱

          5s:表示animation-duration,時長

          ease-in-out:表示animation-timing-function 規定動畫的速度曲線

          除此以外還有:
          linear:動畫從頭到尾的速度是相同的。
          ease:默認。動畫以低速開始,然后加快,在結束前變慢。
          ease-in:動畫以低速開始。
          ease-out:動畫以低速結束。
          ease-in-out:動畫以低速開始和結束。

          500ms:表示animation-delay,規定在動畫開始之前的延遲。

          2 :表示animation-iteration-count,規定動畫應該播放的次數。

          alternate:表示animation-direction,規定是否應該輪流反向播放動畫,如果 animation-direction 值是 “alternate”,則動畫會在奇數次數(1、3、5 等等)正常播放,而在偶數次數(2、4、6 等等)向后播放。。



          藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請加微信ban_lanlan,報下信息,藍小助會請您入群。歡迎您加入噢~~

          希望得到建議咨詢、商務合作,也請與我們聯系01063334945。 



          分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。 



          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務、UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

          用css畫一個空心圓環,使用純CSS畫一個圓環(代碼示例)

          前端達人

          本篇文章通過代碼示例介紹一下使用純CSS畫圓環的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

          3b98c20306e2c9d95532ec8bb7753265.png

          畫圓環思想很簡單:首先畫兩個圓,設置不同的背景色;然后讓兩個圓的圓心重合即可。

          難度系數

          ☆☆

          HTML

          解析:此處有父容器

          CSS.container {

          position: relative;

          top: 0;

          left: 0;

          width: 300px;

          height: 300px;

          background-color: lightgrey;

          }

          .ring-style {

          display: inline-block;

          position: absolute;

          top: 50%;

          left: 50%;

          transform: translate(-50%, -50%);

          background-color: blue;

          width: 260px;

          height: 260px;

          border-radius: 260px;

          }

          .ring-style::before {

          content: ' ';

          display: inline-block;

          position: absolute;

          top: 50%;

          left: 50%;

          transform: translate(-50%, -50%);

          background-color: white;

          width: 200px;

          height: 200px;

          border-radius: 200px;

          }

          解析:設置元素的寬高、圓角效果,即可畫出一個圓

          通過 ::before 偽元素和本體元素,創建兩個圓

          通過基于父容器的絕對定位,設置 top、left、translate 屬性,讓元素基于父容器水平、豎直居中,即可讓兩個圓的圓心重合

          【推薦教程:CSS視頻教程 】

          效果圖

          e6b5a99b91be36358f46cb9fa35bf984.png

          知識點border-radius

          ::before && ::after

          元素水平、豎直居中

          藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請加微信ban_lanlan,報下信息,藍小助會請您入群。歡迎您加入噢~~
          希望得到建議咨詢、商務合作,也請與我們聯系01063334945。 

          分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。 

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務、UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合