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 窝窝午夜看片成人精品,在线观看一区二区三区四区,99久久婷婷国产综合精品电影

          整合營銷服務商

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

          免費咨詢熱線:

          CSS 實現(xiàn)弧形卡片的 3 種方式

          CSS 實現(xiàn)弧形卡片的 3 種方式

          CSS實現(xiàn)弧形卡片的3種方式:打造優(yōu)雅的現(xiàn)代網(wǎng)頁設計

          **導語:** 在網(wǎng)頁設計中,弧形元素以其柔和而富有動態(tài)感的設計深受青睞,尤其在卡片設計上,弧形邊緣能賦予其獨特的視覺效果。本文將詳細介紹利用CSS創(chuàng)建弧形卡片的3種不同方法,包括但不限于CSS border-radius、clip-path及mask屬性,讓您的網(wǎng)頁更具吸引力。下面我們將通過實戰(zhàn)代碼演示每種方法的具體應用。

          ---

          ### **一、基礎方法:border-radius 弧度控制**

          **簡介:**

          `border-radius` 是最常見且兼容性最好的創(chuàng)建圓角或弧形卡片的方式,適用于創(chuàng)建簡單弧形邊角的卡片設計。

          ```html

          <div class="card-rounded">

          <!-- 卡片內(nèi)容 -->

          </div>

          ```

          ```css

          .card-rounded {

          background-color: #f5f5f5;

          width: 200px;

          height: 100px;

          border-radius: 20px; /* 可根據(jù)需要調(diào)整數(shù)值 */

          overflow: hidden;

          }

          ```

          上述代碼將創(chuàng)建一個具有弧形邊角的卡片。通過調(diào)整 `border-radius` 的值,您可以創(chuàng)建出不同程度的弧形效果,但請注意,這種方法無法創(chuàng)建非對稱或復雜弧形。

          ---

          ### **二、進階技巧:clip-path 實現(xiàn)自由形狀**

          **介紹:**

          `clip-path` 屬性允許我們創(chuàng)建任意形狀的裁剪區(qū)域,從而實現(xiàn)更為復雜和定制化的弧形卡片設計。

          ```html

          <div class="card-clip-path">

          <!-- 卡片內(nèi)容 -->

          </div>

          ```

          ```css

          .card-clip-path {

          background-color: #f5f5f5;

          width: 200px;

          height: 100px;

          -webkit-clip-path: circle(50% at right 50%);

          clip-path: circle(50% at right 50%);

          }

          ```

          上述代碼創(chuàng)建了一個右半部分呈弧形的卡片。`clip-path` 提供了更多創(chuàng)造性可能,可以創(chuàng)建橢圓、多邊形甚至路徑裁剪等多種弧形效果。然而需要注意的是,`clip-path` 的瀏覽器兼容性不如 `border-radius` 理想。

          ---

          ### **三、創(chuàng)新方案:CSS Masks 打造靈活曲線**

          **原理:**

          CSS Masks 可以通過 `mask-image` 或 `mask-shape` 屬性為元素添加遮罩,同樣可以用來創(chuàng)建弧形卡片效果。

          ```html

          <div class="card-mask">

          <!-- 卡片內(nèi)容 -->

          </div>

          ```

          ```css

          .card-mask {

          background-color: #f5f5f5;

          width: 200px;

          height: 100px;

          -webkit-mask-image: radial-gradient(circle, transparent 50%, white 51%);

          mask-image: radial-gradient(circle, transparent 50%, white 51%);

          }

          ```

          以上代碼利用徑向漸變作為遮罩,實現(xiàn)了卡片頂部弧形邊緣的效果。CSS Masks 具有高度靈活性,可以用于創(chuàng)建更復雜的形狀,但它的瀏覽器兼容性也相對有限。

          ---

          ### **結論與比較**

          - **border-radius** 方法最為簡單易用且兼容性最好,適合日常項目和快速原型設計;

          - **clip-path** 提供了更豐富的形狀裁剪能力,適合需要突破常規(guī)、追求獨特視覺效果的場景;

          - **CSS Masks** 能夠創(chuàng)建基于圖像或者漸變的復雜蒙版效果,適用范圍較廣,但需要注意舊版本瀏覽器的支持情況。

          選擇何種方式實現(xiàn)弧形卡片取決于項目的實際需求和兼容性要求。通過巧妙運用這些CSS特性,您可以輕松打造出別具一格的弧形卡片設計,增添網(wǎng)站的視覺吸引力。

          ---

          **補充實踐案例:**

          對于一些高級應用場景,您還可以結合以上技術,比如使用CSS Grid布局和Flexbox進行容器布局,同時利用CSS變量和媒體查詢適應不同屏幕尺寸,讓弧形卡片設計更加靈活和響應式。

          切記,在實際開發(fā)過程中,務必關注瀏覽器兼容性問題,必要時借助PostCSS、Autoprefixer等工具增強跨瀏覽器兼容性。同時,保持對新興CSS特性的關注,與時俱進地更新您的設計與開發(fā)技術棧。

          css3之前,并沒有直接的設置元素圓角的屬性,那如何實現(xiàn)設計圖中的圓角設定呢?

          如:表單demo中的文本框圓角。



          一般通過在PS 軟件中截取上左、上右、下左、下右四個邊角的圓角圖片,通過background-position背景圖屬性設定位置,從而實現(xiàn)圓角的設定。

          或是將四個圓角圖片當做四個img標簽,通過position定位屬性找尋設定的位置,如:


          通過圖片設定圓角


          在IE6、7、8還比較盛行的時候,如果要兼容到IE瀏覽器,需要使用CSS hack兼容IE瀏覽器版本,高級瀏覽器可以直接使用border-radius屬性設定圓角,對低版本瀏覽器使用圖片定位的方式實現(xiàn)設計圖呈現(xiàn)。但隨著近幾年瀏覽器版本的不斷更新迭代,我們需要做的就是,如果需要兼容低版本瀏覽器,只需保證呈現(xiàn)正常即可,無需過分的追求展示效果與設計圖的還原度。但實現(xiàn)的思想在web布局中是很重要的。

          查 郭一璞 發(fā)自 凹非寺
          量子位 報道 | 公眾號 QbitAI

          HTML不是編程語言,但這并不妨礙精通它的大佬玩出花來。

          普通的前端,用HTML+CSS制作網(wǎng)頁,元素簡單,工具豐富。

          大佬級前端,用HTML+CSS繪畫,全程不用PS、AI這種圖形化的圖片編輯器,單純敲一行行代碼純手工繪制。

          把代碼轉換之后,就變成了鮮嫩的水果:

          或者畫出洛可可風格的古典女性肖像:

          還有弗拉芒巴洛克肖像風格的人物畫像,充滿了中世紀的禁欲感:

          現(xiàn)代的也有,比如這位在粉色燈光下的著禮服的妹子:

          以及充滿者50年代氣息的復古風人物海報:

          曲線、光影、漸變,每個元素都相當復雜。

          而且,創(chuàng)作過程中不用SVG,只用Atom文本編輯器和Chrome開發(fā)者工具。

          也就是說,畫面上的每一條曲線和漸變、每一處高光和陰影、每一根頭發(fā)和睫毛、每一片蕾絲和褶皺,都是一行行代碼從頭敲出來的!

          如此精細程度和創(chuàng)造力,讓學美術的網(wǎng)友感嘆“學畫畫不如寫代碼”,讓學計算機的同學覺得“別人寫的這么藝術,一定是我的教科書打開方式不對”。

          真·交叉學科大佬。

          它們的作者,是灣區(qū)前端大神Diana Smith小姐姐,她目前是企業(yè)及軟件開發(fā)商Atlassian的一名資深Web開發(fā)。

          繪制過程

          Diana在專門討論CSS的網(wǎng)站CSS-Tricks寫下了詳細的教程。

          畫出這樣一個圖形分成幾步?

          如果不用CSS,一般都是直接嵌入這個特殊的圖形。

          如果用CSS,那么就從黑色矩形開始,然后在兩側加上上兩個

          與白色背景顏色匹配的邊框半徑元素。



          先畫出一個黑色矩形,然后兩邊用圓弧遮擋。有了基礎形狀后,下一步就是給它添上漸變的背景。但是如果用矩形方式填充,得到的效果就是這樣的:

          Diana的辦法是:在保留矩形的同時,加上兩個彎曲的div,把凹進去的部分也填充上。

          最后完整的代碼是這樣的:

          div{
            width: 500px;
            height: 350px;
            background: #000;
            position: relative;
          
            &::after, &::before{
              width: 20%;
              height: 100%;    
              position: absolute;
              top: 0;
              z-index:2;
              content: "";    
          
              background: #1e5799; 
          background: -moz-linear-gradient(top, #1e5799 0%, #7db9e8 100%); 
          background: -webkit-linear-gradient(top, #1e5799 0%,#7db9e8 100%);
          background: linear-gradient(to bottom, #1e5799 0%,#7db9e8 100%); 
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ); 
            }
          
            &::after{
              border-radius: 100% 0% 0% 100%;   
              right: 0;
            }
          
            &::before{
              border-radius: 0 100% 100% 0;   
              left: 0;
            }   
          }
          
          body{
            background: #1e5799; 
          background: -moz-linear-gradient(top, #1e5799 0%, #7db9e8 100%); 
          background: -webkit-linear-gradient(top, #1e5799 0%,#7db9e8 100%); 
          background: linear-gradient(to bottom, #1e5799 0%,#7db9e8 100%); 
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 ); 
          }

          你也可以去這個完成查看CSS樣式的實際運行效果:

          https://codepen.io/jean-jordan/pen/KeKaBw

          剛剛我們畫的那幅畫像不像人的脖子?好的,我們再回到人像畫上,Diana繪制人物的脖子也是類似的過程。

          在上面這張圖里,我們看到了Diana如何逐步改形狀,最終得到了油畫中人物的脖子。

          但是僅僅會畫各種幾何形狀,是無法生成藝術品的,Diana總結了她在繪圖中的5個重要CSS屬性。

          1、邊界半徑(border-radius)

          邊界半徑是為了讓矩形的邊角過渡得更自然,對于大多數(shù)網(wǎng)頁開發(fā)者來說,只需一個參數(shù)border-radius,可以設定不同的半徑數(shù)值。

          border-radius: 15px 10px 40px 30px / 40px 10px 15px 30px;

          2、盒子陰影(box-shadow)

          對多個盒子陰影進行分層是增加深度的最佳方法之一??蜿幱皩⒄掣降絟tml容器的邊緣,也會沿著邊界半徑定義的邊緣。

          box-shadow: 6px -11px 20px 1px red, -15px -15px 5px -10px blue, inset 5px 5px 35px 10px green;

          開發(fā)者可以指定模糊半徑,以及陰影是向內(nèi)延伸還是向外延伸。

          3、變形(transform)

          變形的主要方式有:旋轉(rotate)、縮放(scale)和傾斜(skew)

          transform: rotate(-45deg)
          transform: scale(0.7, 1.3)
          transform: skew(25deg, 30deg);

          此外還有透視,讓物體產(chǎn)生遠小近大的視覺效果,或者是僅僅為畫出一個梯形。

          transform: perspective(10px) rotateY(5deg);

          4、線性梯度(linear-gradient)和徑向梯度(radial-gradient)

          線性梯度用于定義一個方向上的漸變效果,徑向梯度用于定義圓和橢圓形的漸變效果

          background-image: linear-gradient(0deg, blue, transparent 60%),
          radial-gradient(circle at 70% 30%, purple, transparent 40%);

          5、層疊(overflow)

          層疊是一種將大量雜亂元素填充到一個整齊的包中的方法,可以創(chuàng)建一些有趣的形狀。在變形那部分的基礎上使用hidden參數(shù),可以把邊緣遮蓋起來。

          overflow: hidden;

          以上5種元素缺一不可,隨便少一種都會產(chǎn)生怪異的效果。

          從左至右分別是缺少邊界半徑、陰影、變形、梯度、層疊的效果(點擊查看大圖)

          不過即使這樣,也很有抽象藝術的美感,仿佛在看畢加索的作品。

          只適用于Chrome

          不過,由于這是一個純個人藝術創(chuàng)作,Diana小姐姐并不關心瀏覽器適配性。

          因此,這些代碼在Chrome里可以完美展現(xiàn),但如果用其他瀏覽器打開,可能就會出現(xiàn)不一樣的效果。

          比如,MAC上的Safari瀏覽器打開,妹子的眼睛就方了:

          肩膀上的高光,變成了一個大圈圈:

          胸前的禮服上,也被潑了一道墨:

          如果用早期的Chrome打開,會出現(xiàn)驚悚的頭身分離的效果:

          早期的Opera瀏覽器,打開之后臉方了:

          Windows 7上從IE 6到IE 11,顯示出來的都是這個鬼樣子:

          濃重的線條,甚至有點抽象藝術的感覺。

          同樣是早期IE,放到Mac上也一樣鬼畜,這是IE 5.1.7的效果:

          還有人試了試,在Windows 98系統(tǒng)的IE 7瀏覽器打開,會變成非常像素風的樣子:

          最恐怖的是三星手機上的夜間模式打開:

          連人種都變了啊!

          其他的幾張畫,換個瀏覽器打開也比較鬼畜。

          妹子你bra里的鋼圈出來了啊!

          拉夫領變得透明而有光澤,領口的蕾絲干脆斷掉了,仿佛是逃難時期的肖像畫。

          最后,如果你在iPhone上裝了Chrome,出來的也是Safari的效果,想看完整效果的話,請在安卓手機或者電腦的Chrome上打開。

          因此,有不少網(wǎng)友都覺得,這幾幅畫可以當成瀏覽器測試項目,一試就能知道內(nèi)核用的是誰家的。

          反向繪圖

          CSS太難,學不會?不要緊,雖然我們不能把代碼變成圖片,但是可以把圖片變成代碼啊。

          沒錯,就是ASCII藝術,早在DOS時期,就有人用命令行界面來顯示圖片。直到今天已成為一種流行的互聯(lián)網(wǎng)文化。

          用單色字符來畫出世界名畫已經(jīng)不算新鮮事。最近又有個碼農(nóng)開發(fā)了一個新的項目Primg,讓任何一幅畫都可以用質(zhì)數(shù)來表示。

          比如蒙拉麗莎,就可以用一個3萬位的質(zhì)數(shù)二進制方式繪制出來。

          傳送門:

          作者的GitHub:https://github.com/cyanharlow

          作者博客主頁:https://diana-adrianne.com/

          教程:https://css-tricks.com/solving-lifes-problems-with-css/

          用質(zhì)數(shù)生成任意ASCII藝術:https://github.com/geonnave/primg

          — 完 —

          量子位 QbitAI · 頭條號簽約作者

          關注我們,第一時間獲知前沿科技動態(tài)


          主站蜘蛛池模板: 激情内射日本一区二区三区| 亚洲a∨无码一区二区| 中文字幕一区二区三区久久网站 | 三上悠亚亚洲一区高清| 无码日韩精品一区二区三区免费| 日本视频一区二区三区 | 色狠狠一区二区三区香蕉| V一区无码内射国产| 免费一区二区三区在线视频| 中文字幕AV无码一区二区三区| 中文字幕VA一区二区三区| 精品视频一区二区三区| 国产高清在线精品一区小说| 精品视频一区二区三区在线播放| 激情无码亚洲一区二区三区| 末成年女AV片一区二区| 无码一区二区三区免费| 无码人妻AV免费一区二区三区| 久久精品一区二区三区中文字幕| 精品无码中出一区二区| 福利片福利一区二区三区| 极品少妇伦理一区二区| 精品成人一区二区三区免费视频| 人妻夜夜爽天天爽一区| 成人精品一区二区三区校园激情| 国产免费一区二区三区VR| 无码人妻精品一区二区蜜桃AV| 内射一区二区精品视频在线观看| 国产在线视频一区二区三区| 久久国产精品免费一区| 国产区精品一区二区不卡中文| 国产在线无码视频一区二区三区 | 亚洲熟妇AV一区二区三区浪潮 | 国产成人精品一区二三区| 国产福利一区二区| 国产精品无码一区二区在线观一 | 国产在线观看一区二区三区四区 | 97久久精品无码一区二区天美| 在线观看一区二区三区av| 精品国产一区二区三区香蕉事| 区三区激情福利综合中文字幕在线一区亚洲视频1 |