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 高清国产精品久久,日韩视频在线一区,亚洲小视频在线

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          dede 圖片標簽imglink 的調用方法大全


          .<a href='[field:arcurl /]'><img src='[field:litpic/]' border='0' width='' height=''></a>

          2.[field:imglink /]

          3.<a href='[field:arcurl /]'> [field:image/]</a>

          說明:

          [field:imglink /]<a href='[field:arcurl /]'>[field:image/]</a> 是完全等價的,只不過后者更靈活一點,可以在 <a>中添加 title=""

          <a href='[field:arcurl /]' title="[field:title function='htmlspecialchars(@me)'/] ">[field:image/]</a>

          以下代碼則更為靈活,不僅可以添加title="",還可以添加 alt="",但是雖然靈活了,缺少了圖片的寬度和高度的控制,所以要在CSS中控制圖片的大小,適合對CSS有一點了解的人。

          <a href='[field:arcurl /]' title="[field:title function='htmlspecialchars(@me)'/] "><img src='[field:litpic/]' border='0' width='' height='' alt="[field:title function='htmlspecialchars(@me)'/] "></a>

          在文章內容頁加入圖片標簽:<img src="{dede:field name="litpic"/}" border="0">

          在系統還原后,重新更新欄目或文件的時候,會出現一些錯誤提示:沒有該欄目數據可能緩存文件。

          基本做法:
          1.把inc_catalog_base.inc緩存文件刪掉;

          2.更新系統緩存,點“生成—>更新系統緩存—>開始執行”;

          3.然后重新生成欄目,


          如果以上解決不了。

          嘗試一般性的解決方案:

          1. 在網站后臺,點擊左側“核心”—“網站欄目管理”;

          2. 登錄ftp,找到data/cache目錄,刪掉inc_catalog_base.inc文件

          3. 打開dede目錄,找到config.php文件打開,查找
            $fp1Header = "<{$phph}php\r\nglobal$_Cs;\r\n$_Cs=array();\r\n";修改為:
            $fp1Header = "<{$phph}php\r\nglobal$cfg_Cs;\r\n$cfg_Cs=array();\r\n";

          fwrite($fp1,"$_Cs[{$row->id}]=array({$row->reid},{$row->channeltype},{$row->issend});\r\n");修改為:
          fwrite($fp1,"$cfg_Cs[{$row->id}]=array({$row->reid},{$row->channeltype},{$row->issend});\r\n");

          4.最后更新系統緩存,一鍵生成HTML文件。

          麗炫酷的動畫特效總能夠讓人心曠神怡,不能自已。艷羨之余,如果還能夠探究其華麗外表下的實現邏輯,那就是百尺竿頭,更上一步了。本次我們使用圖片、SCSS樣式以及SVG圖片動畫來實現“點贊”按鈕的動畫特效,并比較不同之處。

          圖片實現

          最簡單,也最容易理解的實現方式就是使用圖片。曾幾何時,幾乎所有前端特效都需要借助圖片來完成。

          實現原理很簡單,通過不同的關鍵幀來“拼接”一段完整的動畫影片,每一幀即該動畫的每一個瞬間“狀態”。

          首先聲明必要的盒子模型:

          <div class="heart"></div>

          這里以div為例子,聲明偽類對象heart。

          隨后通過樣式對heart偽類進行控制:

          .heart {
            cursor: pointer;
            height: 50px;
            width: 50px;
            background-image:url( 'https://abs.twimg.com/a/1446542199/img/t1/web_heart_animation.png');
            background-position: left;
            background-repeat:no-repeat;
            background-size:2900%;
          }
          
          .heart:hover {
            background-position:right;
          }
          
          .is_animating {
            animation: heart-burst .8s steps(28) 1;
          }
          
          @keyframes heart-burst {
            from {background-position:left;}
            to { background-position:right;}
          }

          這里指定背景圖片位置,只顯示最左側的背景元素,鼠標懸停時則只顯示最右側背景元素,然后當鼠標點擊div時,觸發@keyframes heart-burst動畫,從左側移動至右側,一共進行28幀的側移動作:

          這樣就完成了一段流暢的動畫特效:

          需要注意的是,這里需要借助JavaScript綁定單擊事件,所以需要引入zepto.min.js文件

          https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js

          通過zepto.min.js庫就可以很方便的操作頁面節點:

          $(".heart").on('click touchstart', function(){
            $(this).toggleClass('is_animating');
          });
          
          $(".heart").on('animationend', function(){
            $(this).toggleClass('is_animating');
          });

          邏輯是單擊事件觸發動畫,動畫執行過程中再次點擊則移除動畫效果。

          此種方式依賴多幀背景圖、CSS動畫以及JavaScript事件綁定,顯然成本有些高,同時多幀圖片平鋪導致體積過大,也會占用系統帶寬,得不償失。

          純SCSS(樣式)實現

          使用純CSS樣式也可以完成這樣的特效,但CSS3原生語法太過復雜,這里我們使用SCSS語法,SCSS是 CSS3的超集,在保證兼容性的前提下,允許使用變量、 嵌套、 混合、導入等特性, 在編寫邏輯復雜的CSS代碼時,可以簡化邏輯,提高CSS的代碼可讀性。

          首先還是創建基本盒子模型:

          <input id="toggle-heart" type="checkbox"/>
          <label for="toggle-heart">?</label>

          這里通過復選框和標簽元素來控制點贊按鈕的狀態。

          隨后編寫SCSS邏輯:

          $bubble-d: 4.5rem; // bubble diameter
          $bubble-r: .5*$bubble-d; // bubble-radius
          
          @mixin bubble($ext) {
            transform: scale(1);
            border-color: #cc8ef5;
            border-width: $ext;
          }
          
          body {
            display: flex;
            justify-content: center;
            margin: 0;
            height: 100vh;
          }
          
          [id='toggle-heart'] {
            position: absolute;
            left: -100vw;
            
            &:checked + label {
              color: #e2264d;
              will-change: font-size;
              animation: heart 1s cubic-bezier(.17, .89, .32, 1.49);
              
              &:before, &:after {
                animation: inherit;
                animation-timing-function: cubic-bezier(.21, .61, .35, 1);
              }
              
              &:before {
                will-change: transform, border-width, border-color;
                animation-name: bubble;
              }
            }
          }
          
          [for='toggle-heart'] {
            align-self: center;
            position: relative;
            color: #aab8c2;
            font-size: 2em;
            cursor: pointer;
            
            &:before, &:after {
              position: absolute;
              z-index: -1;
              top: 50%; left: 50%;
              border-radius: 50%;
              content: '';
            }
            
            &:before {
              box-sizing: border-box;
              margin: -$bubble-r;
              border: solid $bubble-r #e2264d;
              width: $bubble-d; height: $bubble-d;
              transform: scale(0);
            }
          }
          
          @keyframes heart {
            0%, 17.5% { font-size: 0; }
          }
          
          @keyframes bubble {
            15% { @include bubble($bubble-r); }
            30%, 100% { @include bubble(0); }
          }

          這里首先將復選框按鈕移出界面,隨后定義bubble對象,這里bubble指的是點擊后膨脹的紫色(#cc8ef5)泡泡,直徑是4.5rem,并且圓角修飾:$bubble-r: .5*$bubble-d

          隨后通過id選擇器toggle-heart狀態判斷元素狀態,觸發heart和bubble動畫,在一秒內動態的改變heart元素以及bubble元素的位置、大小以及邊框透明度,從而完成動態特效。

          接著添加煙花特效:

          body {
            display: flex;
            justify-content: center;
            margin: 0;
            height: 100vh;
            background: linear-gradient(135deg, #121721, #000);
            font: 1em verdana, sans-serif;
          }
          
          [id='toggle-heart'] {
            position: absolute;
            left: -100vw;
          }
          [id='toggle-heart']:checked + label {
            color: #e2264d;
            filter: none;
            will-change: font-size;
            -webkit-animation: heart 1s cubic-bezier(0.17, 0.89, 0.32, 1.49);
                    animation: heart 1s cubic-bezier(0.17, 0.89, 0.32, 1.49);
          }
          [id='toggle-heart']:checked + label:before, [id='toggle-heart']:checked + label:after {
            -webkit-animation: inherit;
                    animation: inherit;
            -webkit-animation-timing-function: ease-out;
                    animation-timing-function: ease-out;
          }
          [id='toggle-heart']:checked + label:before {
            will-change: transform, border-width, border-color;
            -webkit-animation-name: bubble;
                    animation-name: bubble;
          }
          [id='toggle-heart']:checked + label:after {
            will-change: opacity, box-shadow;
            -webkit-animation-name: sparkles;
                    animation-name: sparkles;
          }
          [id='toggle-heart']:focus + label {
            text-shadow: 0 0 3px white,  0 1px 1px white, 0 -1px 1px white,  1px 0 1px white, -1px 0 1px white;
          }
          
          [for='toggle-heart'] {
            align-self: center;
            position: relative;
            color: #888;
            font-size: 2em;
            filter: grayscale(1);
            -webkit-user-select: none;
               -moz-user-select: none;
                -ms-user-select: none;
                    user-select: none;
            cursor: pointer;
          }
          [for='toggle-heart']:before, [for='toggle-heart']:after {
            position: absolute;
            z-index: -1;
            top: 50%;
            left: 50%;
            border-radius: 50%;
            content: '';
          }
          [for='toggle-heart']:before {
            box-sizing: border-box;
            margin: -2.25rem;
            border: solid 2.25rem #e2264d;
            width: 4.5rem;
            height: 4.5rem;
            transform: scale(0);
          }
          [for='toggle-heart']:after {
            margin: -0.1875rem;
            width: 0.375rem;
            height: 0.375rem;
            box-shadow: 0.32476rem -3rem 0 -0.1875rem #ff8080, -0.32476rem -2.625rem 0 -0.1875rem #ffed80, 2.54798rem -1.61656rem 0 -0.1875rem #ffed80, 1.84982rem -1.89057rem 0 -0.1875rem #a4ff80, 2.85252rem 0.98418rem 0 -0.1875rem #a4ff80, 2.63145rem 0.2675rem 0 -0.1875rem #80ffc8, 1.00905rem 2.84381rem 0 -0.1875rem #80ffc8, 1.43154rem 2.22414rem 0 -0.1875rem #80c8ff, -1.59425rem 2.562rem 0 -0.1875rem #80c8ff, -0.84635rem 2.50595rem 0 -0.1875rem #a480ff, -2.99705rem 0.35095rem 0 -0.1875rem #a480ff, -2.48692rem 0.90073rem 0 -0.1875rem #ff80ed, -2.14301rem -2.12438rem 0 -0.1875rem #ff80ed, -2.25479rem -1.38275rem 0 -0.1875rem #ff8080;
          }
          
          @-webkit-keyframes heart {
            0%, 17.5% {
              font-size: 0;
            }
          }
          
          @keyframes heart {
            0%, 17.5% {
              font-size: 0;
            }
          }
          @-webkit-keyframes bubble {
            15% {
              transform: scale(1);
              border-color: #cc8ef5;
              border-width: 2.25rem;
            }
            30%, 100% {
              transform: scale(1);
              border-color: #cc8ef5;
              border-width: 0;
            }
          }
          @keyframes bubble {
            15% {
              transform: scale(1);
              border-color: #cc8ef5;
              border-width: 2.25rem;
            }
            30%, 100% {
              transform: scale(1);
              border-color: #cc8ef5;
              border-width: 0;
            }
          }
          @-webkit-keyframes sparkles {
            0%, 20% {
              opacity: 0;
            }
            25% {
              opacity: 1;
              box-shadow: 0.32476rem -2.4375rem 0 0rem #ff8080, -0.32476rem -2.0625rem 0 0rem #ffed80, 2.1082rem -1.26585rem 0 0rem #ffed80, 1.41004rem -1.53985rem 0 0rem #a4ff80, 2.30412rem 0.85901rem 0 0rem #a4ff80, 2.08305rem 0.14233rem 0 0rem #80ffc8, 0.76499rem 2.33702rem 0 0rem #80ffc8, 1.18748rem 1.71734rem 0 0rem #80c8ff, -1.35019rem 2.0552rem 0 0rem #80c8ff, -0.60229rem 1.99916rem 0 0rem #a480ff, -2.44865rem 0.22578rem 0 0rem #a480ff, -1.93852rem 0.77557rem 0 0rem #ff80ed, -1.70323rem -1.77366rem 0 0rem #ff80ed, -1.81501rem -1.03204rem 0 0rem #ff8080;
            }
          }
          @keyframes sparkles {
            0%, 20% {
              opacity: 0;
            }
            25% {
              opacity: 1;
              box-shadow: 0.32476rem -2.4375rem 0 0rem #ff8080, -0.32476rem -2.0625rem 0 0rem #ffed80, 2.1082rem -1.26585rem 0 0rem #ffed80, 1.41004rem -1.53985rem 0 0rem #a4ff80, 2.30412rem 0.85901rem 0 0rem #a4ff80, 2.08305rem 0.14233rem 0 0rem #80ffc8, 0.76499rem 2.33702rem 0 0rem #80ffc8, 1.18748rem 1.71734rem 0 0rem #80c8ff, -1.35019rem 2.0552rem 0 0rem #80c8ff, -0.60229rem 1.99916rem 0 0rem #a480ff, -2.44865rem 0.22578rem 0 0rem #a480ff, -1.93852rem 0.77557rem 0 0rem #ff80ed, -1.70323rem -1.77366rem 0 0rem #ff80ed, -1.81501rem -1.03204rem 0 0rem #ff8080;
            }
          }

          新增sparkles對象,通過動態的控制元素的彩色陰影來表現點擊后的煙花動態效果:

          這里為了增加效果對比度,將背景設置為深色,同時為點贊按鈕增加亮色邊框:

          [id='toggle-heart']:focus + label {
            text-shadow: 
              0 0 3px #fff, 
              0 1px 1px #fff, 0 -1px 1px #fff, 
              1px 0 1px #fff, -1px 0 1px #fff;
          }

          大體上,利用transform屬性控制元素的絕對定位、顏色、邊框以及盒子模型陰影來完成此種特效,帶寬資源占用層面,明顯比圖片更具優勢。

          SVG實現

          SVG是矢量圖形,不受像素的影響,從而使得它在不同的平臺或者媒體下表現出的兼容性更好,與此同時,SVG對動畫的支持較好,其DOM結構可以被其特定語法或者CSS控制,從而輕松的實現動畫效果。

          首先依然聲明盒子模型:

          <label class="like">
            <input type="checkbox"/>
            <div class="hearth"/>
          </label>

          隨后定義樣式:

          :root {
            --size: 100px;
            --frames: 62;
          }
          
          html {
            background-color: #15202B;
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            user-select: none;
          }
          
          input {
            display: none;
          }
          
          .like {
            display: block;
            width: var(--size);
            height: var(--size);
            cursor: pointer;
            border-radius: 999px;
            overflow: visible;
            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
            -webkit-tap-highlight-color: transparent;
          }
          
          .hearth {
            background-image: url('https://assets.codepen.io/23500/Hashflag-AppleEvent.svg');
            background-size: calc(var(--size) * var(--frames)) var(--size);
            background-repeat: no-repeat;
            background-position-x: calc(var(--size) * (var(--frames) * -1 + 2));
            background-position-y: calc(var(--size) * 0.02);
            width: var(--size);
            height: var(--size);
          }
          
          input:checked + .hearth {
            animation: like 1s steps(calc(var(--frames) - 3));  
            animation-fill-mode: forwards;
          }
          
          @keyframes like {
            0% {
              background-position-x: 0;
            }
            100% {
              background-position-x: calc(var(--size) * (var(--frames) * -1 + 3));
            }
          }
          
          @media (hover: hover) {
            .like:hover {
              background-color: #E1255E15;
              .hearth {
                background-position-x: calc(var(--size) * (var(--frames) * -1 + 1));
              }
            }
          }

          和普通圖片如出一轍,通過background-image來控制背景SVG圖片的順序,對背景的橫坐標進行側移動畫操作,只不過幀數提高到62幀:

          可以看到這里通過input:checked狀態就可以觸發@keyframes like橫移動畫,并不需要單獨撰寫JavaScript邏輯。

          結語

          三種動畫特效實現方式各有千秋,但從可維護性以及成本控制角度上看,SCSS顯然是最優解。

          源:【人民日報中央廚房-商海觀潮工作室】

          珠江岸邊,琶洲會展中心再次迎來八方賓客。第133屆中國進出口商品交易會(廣交會)全面恢復線下展,于4月15日起分3期舉辦至5月5日,同時全年常態化線上運營。

          從家用電器、五金建材、化工產品等傳統展品,到新增設的工業自動化及智能制造展區、新能源及智能網聯汽車展區和智慧生活專區等,行走廣交會場館,目不暇接的精彩展品和持續火熱的旺盛人氣,彰顯著中國經濟的活力和韌性。

          這是歷史上規模最大的一屆廣交會。本屆廣交會啟用新展館,第一期展覽面積由原來的40萬平方米增加到50萬平方米。4月19日,本屆廣交會一期閉幕,截至19日下午6時,進館126.1萬人次。展覽面積和進館人次均創歷史新高。同時,常態化運營線上平臺,線上參會境外采購商31.1萬人。

          廣交會琶洲會展中心里人流涌動。(新華社記者 劉大偉 攝)

          這是洽談火熱、下單積極的一屆廣交會。本屆廣交會一期到會境外采購商6.6萬人,出口成交128億美元。不少參展企業表示,盡管境外采購商還在恢復之中,但到會采購商采購意愿強、下單更快。從訂單數量看,3個月以上的中長單占比接近六成。除現場下單外,很多客商還向參展企業預約實地看廠,未來有望達成更多合作。

          幾名來自哥倫比亞的采購商在廣交會上了解中國汽配產品。(新華社記者 劉大偉 攝)

          這是新題材新展品眾多的一屆廣交會。本屆廣交會一期新設工業自動化及智能制造、新能源及智能網聯汽車、智慧生活等題材,共吸引762家企業參展。舉辦新品首發首展首秀活動150場,涉及工業制造、電子家電、建材家裝等行業,線上線下吸引3萬人次觀看。第一期線上展品78.4萬件,其中新產品接近15.1萬件、綠色低碳產品14.3萬件、智能產品9.6萬件、自主知識產權產品9.5萬件。

          采購商在廣交會新設置的新能源及智能網聯汽車展區了解中國新能源汽車產品。(新華社記者 劉大偉 攝)

          這是綠色發展引領潮流的一屆廣交會。電動汽車、光伏、動力電池等“新三樣”產品集中亮相,吸引了大批采購商詢價洽談。展出零碳源空調、光伏儲能設備等低碳環保展品約50萬件。

          “發展經濟最重要的是人來人往。規模盛大的廣交會呈現供需兩旺的態勢,一方面展示了中國經濟復蘇的強勁勢頭,另一方面也印證了世界各國對于中國經濟發展的堅定信心。”遼寧大學校長余淼杰表示。

          廣交會現場的火熱氛圍也讓不少外貿企業感到振奮。在新寶股份總裁曾展暉看來,眾多海外客商來往交流,正是海外市場逐步恢復的一個表現,他對今年的外貿行業發展充滿期待和信心。“歐美市場的需求逐步在恢復,同時我們拓展了很多新品類,做了很多布局,從未來的國際市場來看,今年到明年的市場增長預期很大。”

          今年一季度,我國貨物貿易進出口總值9.89萬億元,同比增長4.8%,也讓曾展暉感慨,“看到了一個復蘇的曙光”。

          在這場萬商云集盛會里,無數外貿人步履堅定再出發。

          (人民日報中央廚房—商海觀潮工作室)

          本文來自【人民日報中央廚房-商海觀潮工作室】,僅代表作者觀點。全國黨媒信息公共平臺提供信息發布傳播服務。

          ID:jrtt


          主站蜘蛛池模板: 亚洲高清偷拍一区二区三区| 国产精品区一区二区三在线播放 | 无码毛片一区二区三区视频免费播放 | 国产日韩一区二区三区在线播放| 日本精品视频一区二区| 国产在线精品一区二区中文| 国产伦精品一区二区三区视频小说| 亚洲一区二区三区高清| 国产精品小黄鸭一区二区三区| 精品无码综合一区二区三区| 日本不卡一区二区三区视频| 精品乱子伦一区二区三区高清免费播放| 国产福利一区二区三区| 亚洲av无码一区二区三区乱子伦 | 国99精品无码一区二区三区 | 亚洲综合一区二区| 久久精品一区二区三区资源网| 一区二区三区日本视频| 免费无码AV一区二区| 精品一区精品二区| 日本一区二区三区免费高清在线| 中文字幕精品一区二区| 中日韩精品无码一区二区三区| 亚洲国产美国国产综合一区二区 | 国产一区二区三区播放| 日韩美一区二区三区| 97精品一区二区视频在线观看| 人妻久久久一区二区三区| 日韩一区二区三区无码影院| 无码少妇一区二区性色AV| 色妞色视频一区二区三区四区 | 精品中文字幕一区二区三区四区| 色天使亚洲综合一区二区| 免费看无码自慰一区二区| 国产麻豆剧果冻传媒一区| 国产乱码精品一区二区三区四川| 日本一区二区在线免费观看| 国产精品亚洲不卡一区二区三区 | 国模少妇一区二区三区| 久久99国产精一区二区三区| 色偷偷久久一区二区三区|