Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产叼嘿视频免费大全,亚洲国内精品久久,久久精品国产亚洲精品2020

          整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          前端系列:純CSS代碼來寫多邊形和不規(guī)則圖形

          天介紹了前端系列:如何用CSS代碼來寫26個字母,前端福利,沒有看過的可以看我之前的文章,或者打開下面的網(wǎng)址來瀏覽:http://www.toutiao.com/i6366084511695897089/

          今天介紹的是,用css代碼來寫幾何圖形或者不規(guī)則的圖形,當然看這些都需要一點點的div+css的基礎,還有了解新的html5+css3的知識點,這樣你才能更好的體會感觸。

          正方形代碼

          長方形代碼

          圓形代碼

          橢圓的代碼

          正三角形的代碼

          倒三角行的代碼

          左三角形代碼

          右三角形代碼

          梯形代碼

          愛心代碼

          太極代碼

          還有一些其他的代碼,就不一一的發(fā)圖了,有興趣的可以打開下面的網(wǎng)站來看這些代碼

          https://css-tricks.com/examples/ShapesOfCSS/

          馨客棧導航:http://www.mackxin.com/nav.html

          馨客棧交流:http://www.mackxin.com/xininn.html

          關注分享,體驗樂趣

          分享是一種態(tài)度

          學無止境,學海無涯,好好學習,天天向上

          近公司項目也挺忙的,所以很少時間來寫文章。最近公司有個需求要實現(xiàn)帶曲線的上升效果,我這邊實現(xiàn)了安卓版本,今天特意用js也寫了一份,就當時學習了。JS最終實現(xiàn)如下圖,這個圖片是不動的,打開是有動畫的。

          js曲線學習

          本來公司效果圖如下

          大致就是這么一個效果,但是里面涉及的邏輯還是挺多的。因為有好幾張UI效果圖,目前我就貼出來一張,如果能實現(xiàn)這一張的效果基本其他的也容易搞定了,但是這里我就不分享Android的代碼了,畢竟是公司項目,所以很多信息必透露,這里分享JS實現(xiàn)的代碼。

          原圖

          JS實現(xiàn)代碼如下

          <html>
              <head>
          
              </head>
              <body>
                  <canvas id="canvas" style="border:1px solid #aaa;display:block;margin:50px auto;">
                      當前瀏覽器不支持Canvas,請更換瀏覽器后再試
                  </canvas>
                   
                  <script>
                      
          
                      function l(){
                          this.canvas; // canvas節(jié)點
                          this.ctx; // canvas繪圖上下文
                          this.x; // 橫向坐標
                          this.y; // 縱向坐標
                          this.rx;   //橢圓長軸
                          this.ry;    //橢圓短軸
                          this.degree1;//初始角度
                          this.degree2;//結束角度
                          this.degreecur; //當前角度
                      };
                      l.prototype.init = function(){
                          var canvas = document.getElementById("canvas");
                          var  context=canvas.getContext('2d');
                          canvas.width = 800;
                          canvas.height = 800;
          
                          this.canvas = canvas;
                          this.ctx = context;
                          this.degree1 = 20; 
                          this.degree2 = 120;
                          this.degreecur = this.degree2;
                          this.x = 200;
                          this.y = 200;
                          this.rx = 150;
                          this.ry = 50;
                          this.increase = 1;
                      };
                      l.prototype.update = function(){
                          this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height);
                          this.ctx.lineWidth = 2;
                          // 繪制弧線
                          this.drawLine('#000', this.degree1, this.degree2);
                          this.drawLine('#f00',  this.degreecur, this.degree2);
          
                          this.drawCr();
          
                          this.degreecur -= this.increase;
                          if(this.degreecur < this.degree1){
                              this.degreecur = this.degree2;
                          }
                      };
                      l.prototype.drawCr = function(){
                          var o = this.degreecur * Math.PI/180;
                          var a = this.rx;
                          var b = this.ry;
                          var x = 0;
                          var y = 0;
                          x = a * Math.cos(o);
                          y = b * Math.sin(o);
                          x += this.x;
                          y += this.y;
                          this.ctx.beginPath();
                          this.ctx.strokeStyle = '#0f0';
                          this.ctx.fillStyle = '#0f0';
                          this.ctx.arc(x,y,5,0,2*Math.PI);
                          this.ctx.fill();
                          this.ctx.closePath();
                      };
                      l.prototype.drawLine = function(color, degreeStart, degreeEnd){
                          this.ctx.beginPath();
                          this.ctx.strokeStyle = color;
                          //起點x.起點y,半徑x,半徑y(tǒng),旋轉的角度,起始角,結果角,順時針還是逆時針
                          this.ctx.ellipse(this.x,this.y,this.rx,this.ry,0,degreeStart*Math.PI/180,degreeEnd*Math.PI/180,false);
                          this.ctx.stroke();
                          this.ctx.closePath();
                      };
          
                      var l1 = new l();
                      // dot移動效果
                      function animateUpdate() {
                          l1.update(); // 更新dot的當前位置
                          setTimeout(animateUpdate, 25);
                      }
          
                      window.onload = function(){
          
                          l1.init();
                          animateUpdate()
                      }
                      
          
                  </script>
              </body>
          </html>

          如果需要驗證的可以直接復制上面的代碼運行就能看到效果。這里不做演示,本次分享就到此為止,謝謝大家了。如果喜歡就關注,點贊吧,謝謝了。

          家好,我是一碗周,一個不想被喝(內卷)的前端。如果寫的文章有幸可以得到你的青睞,萬分有幸~

          寫在前面

          過年了~ 過年了~ 過年了~

          辭舊迎新過年啦 張燈結彩春節(jié)啦~

          金雞起舞送福啦 新的一年福來啦~

          文章開頭幾句歌詞,頓時顯得喜慶了不,我們的燈籠是下面這個樣子的。

          animation屬性

          畫燈籠我們肯定不能畫一個靜態(tài)的燈籠,我們先來復習一下CSS中的 animation 屬性,該是是一個簡寫屬性,由 animation-name , animation-duration , animation-timing-function , animation-delay , animation-iteration-countanimation-directionanimation-fill-modeanimation-play-state 屬性組成。這里我們就不展開講解了,具體可以跳轉到MDN學習。

          我們先來看一下下面這個示例:

          animation: swing 3s infinite ease-in-out;

          在上面的例子中使用了一個名為 swing 的動畫序列,動畫序列通過 @keyframes 創(chuàng)建,執(zhí)行時間 3s ,動畫循環(huán)執(zhí)行,最后 ease-in-out 表示動畫執(zhí)行的節(jié)奏。

          實現(xiàn)思路

          • 為一個矩形添加 border-radius 使其,形成一個燈籠的外形。
          • 為矩形添加 ::before::after 來形成燈籠的頂部和頭部
          • 畫一個燈籠線。
          • 在 矩形內部添加兩個比較細的矩形,通過添加 border-radius 來形成燈籠的線條。
          • 設置燈籠的動畫效果
          • 添加燈穗的樣式

          接下來我們就分步驟實現(xiàn)。

          繪制燈籠外形

          首先我們定義HTML結構,代碼如下:

          <!-- 燈籠容器 -->
          <div class="lantern-con">
            <!-- 提著燈籠的線 -->
            <div class="lantern-line"></div>
            <!-- 燈籠主要區(qū)域 -->
            <div class="lantern-light">
            </div>
          </div>

          然后我們畫一個橢圓,然后通過 ::before::after ,繪制上下的兩個燈籠蓋,CSS如下:

          /* 燈籠容器 */
          .lantern-con {
            position: fixed;
            left: 160px;
          }
          
          /* 燈籠中間紅色區(qū)域 */
          .lantern-light {
            position: relative;
            width: 120px;
            height: 90px;
            background-color: red;
            margin: 30px;
            border-radius: 50%;
            box-shadow: -5px 5px 50px 4px #fa6c00;
            /* 設置旋轉點 */
            transform-origin: top center;
            animation: swing 3s infinite ease-in-out;
          }
          
          /* 燈籠頂部和底部的樣式 */
          .lantern-light::before,
          .lantern-light::after {
            content: '';
            position: absolute;
            border: 1px solid #dc8f03;
            width: 60px;
            height: 12px;
            /* 背景漸變 */
            background: linear-gradient(
              to right,
              #dc8f03,
              #ffa500,
              #dc8f03,
              #ffa500,
              #dc8f03
            );
            left: 30px;
          }
          
          /* 頂部位置 */
          .lantern-light::before {
            top: -7px;
            border-top-left-radius: 5px;
            border-top-right-radius: 5px;
          }
          
          /* 底部位置 */
          .lantern-light::after {
            bottom: -7px;
            border-bottom-left-radius: 5px;
            border-bottom-right-radius: 5px;
          }
          
          /* 提著燈籠的線的樣式 */
          .lantern-line {
            width: 2px;
            height: 50px;
            background-color: #dc8f03;
            position: absolute;
            left: 88px;
          }
          /* 燈籠的動畫效果 */
          @keyframes swing {
            0% {
              transform: rotate(-6deg);
            }
          
            50% {
              transform: rotate(6deg);
            }
          
            100% {
              transform: rotate(-6deg);
            }
          }

          現(xiàn)在就實現(xiàn)了一個比較基礎燈籠外形,效果如下:

          燈籠內部線條

          燈籠的內部線條是通過兩個矩形實現(xiàn)了,通過 border-radius 屬性將其設置為橢圓,然后繪制邊,呈現(xiàn)燈籠線條。

          <div class="lantern-light">
            <!-- 燈籠中間的線條 -->
            <div class="lantern-circle">
              <div class="lantern-rect">
                <!-- 燈籠中間的文字內容 -->
                <div class="lantern-text">燈籠</div>
              </div>
            </div>
          </div>

          對應的CSS如下:

          • 中間的線條 */
          /* 燈籠中間的線條 */
          .lantern-circle,
          .lantern-rect {
            height: 90px;
            border-radius: 50%;
            border: 2px solid #dc8f03;
            background-color: rgba(216, 0, 15, 0.1);
          }
          
          /* 外層 */
          .lantern-circle {
            width: 100px;
            margin: 12px 8px 8px 10px;
          }
          
          /* 內層 */
          .lantern-rect {
            margin: -2px 8px 8px 26px;
            width: 45px;
          }
          
          /* 文字樣式 */
          .lantern-text {
            font-size: 28px;
            font-weight: bold;
            text-align: center;
            color: #dc8f03;
            margin-top: 4px;
          }

          燈籠穗

          現(xiàn)在我們來繪制一下燈籠穗,這個東西比較簡單,最主要的是添加一個動畫效果,其HTML結構如下:

          <!-- 燈籠主要區(qū)域 -->
          <div class="lantern-light">
            <!-- more code -->
            <!-- 燈籠穗 -->
            <div class="lantern-tassel-top">
              <div class="lantern-tassel-middle"></div>
              <div class="lantern-tassel-bottom"></div>
            </div>
          </div>

          主要區(qū)域 -->

          CSS如下:

          /* 燈穗 */
          .lantern-tassel-top {
            width: 5px;
            height: 20px;
            background-color: #ffa500;
            border-radius: 0 0 5px 5px;
            position: relative;
            margin: -5px 0 0 59px;
            /* 讓燈穗也有一個動畫效果 */
            animation: swing 3s infinite ease-in-out;
          }
          
          .lantern-tassel-middle,
          .lantern-tassel-bottom {
            position: absolute;
            width: 10px;
            left: -2px;
          }
          
          .lantern-tassel-middle {
            border-radius: 50%;
            top: 14px;
            height: 10px;
            background-color: #dc8f03;
            z-index: 2;
          }
          
          .lantern-tassel-bottom {
            background-color: #ffa500;
            border-bottom-left-radius: 5px;
            height: 35px;
            top: 18px;
            z-index: 1;
          }

          到這我們就把這個燈籠畫完了。

          寫在最后

          本篇文章到這就結束了,都看完了就點個贊支持一下,謝謝了~

          原作者姓名: 一碗周

          原文鏈接: https:// juejin.cn/post/70513709 71932033038


          主站蜘蛛池模板: 无码国产精品一区二区免费虚拟VR| 亚洲色精品VR一区区三区| 亚洲一区二区三区在线播放| 日韩经典精品无码一区| 亚洲一区二区精品视频| 亚洲国产专区一区| 日本精品高清一区二区| 日韩精品无码一区二区三区免费| 日本在线视频一区二区| 中文字幕人妻AV一区二区| 国产一区二区在线|播放| 中文字幕无码一区二区三区本日 | 好爽毛片一区二区三区四| 无码人妻一区二区三区免费看| 亚洲综合av一区二区三区不卡| 免费在线视频一区| 无码乱人伦一区二区亚洲一| 亚洲熟妇成人精品一区| 亚洲国产激情一区二区三区| 日韩精品无码一区二区三区免费 | 久久精品无码一区二区三区免费| 国产伦精品一区二区三区免费迷| 不卡无码人妻一区三区音频| 无码人妻精品一区二区蜜桃网站| 国产精品 视频一区 二区三区 | 国产av一区二区精品久久凹凸| 亚洲一区二区三区AV无码| 人妻在线无码一区二区三区| 中文字幕久久亚洲一区| 国产SUV精品一区二区四| 成人日韩熟女高清视频一区| 暖暖免费高清日本一区二区三区 | 国产精品亚洲一区二区无码| 国产在线一区二区在线视频| 日本精品无码一区二区三区久久久| 亚洲中文字幕无码一区| 日韩精品一区二三区中文 | 国产剧情一区二区| 99久久精品国产一区二区成人| 精品伦精品一区二区三区视频| 蜜桃传媒一区二区亚洲AV|