使用css畫一個(gè)文件上傳圖案

如下圖,如果是你,你會(huì)怎么實(shí)現(xiàn):
通常我們會(huì)通過(guò)字體圖標(biāo)來(lái)顯示中間的加號(hào),外層用一個(gè)div包裹即可;或者使用偽元素來(lái)模擬中間的一橫一豎,這都比較麻煩。
其實(shí)我們可以直接使用div+css就可以實(shí)現(xiàn)。
輪廓屬性outline
outline屬性是用來(lái)設(shè)置一個(gè)或多個(gè)單獨(dú)的輪廓屬性的簡(jiǎn)寫屬性 , 例如 。
輪廓有下面幾個(gè)屬性:
{ outline-style: solid; outline-width: 10px; outline-color: red; }
他們有一種簡(jiǎn)寫形式:
{ outline: 10px solid red; }
輪廓的特點(diǎn)
輪廓不占據(jù)空間,它們被描繪于內(nèi)容之上。
可以做到下圖的效果:
我發(fā)現(xiàn),當(dāng)設(shè)置 outline-offset 為負(fù)值的時(shí)候,輪廓會(huì)出現(xiàn)在div的內(nèi)部,如果繼續(xù)擴(kuò)大其負(fù)值,最終輪廓會(huì)收縮成一個(gè)“➕”加號(hào),正好可以作為文件上傳樣式中間的加號(hào)。
這就有意思了,于是代碼就來(lái)了:
div { margin: 100px; width: 100px; height: 100px; outline: 15px solid #545454; outline-offset: -66px; border: 2px solid #545454; }
outline-offset: -66px; 是關(guān)鍵,它表示輪廓距div邊的距離,如果為負(fù)值則會(huì)往里面收縮,最后形成一個(gè)加號(hào)。具體上傳樣式的大小和outline的寬度都需要自己慢慢調(diào)整已達(dá)到大和諧。
需要注意的是:
容器得是個(gè)正方形
outline 邊框本身的寬度不能太小
原文github倉(cāng)庫(kù)地址:https://github.com/Daotin/front-end-notes/issues
總結(jié)
以上所述是小編給大家介紹的使用css畫一個(gè)文件上傳圖案,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
css input[type=file] 樣式美化(input上傳文件樣式 )
這篇文章主要介紹了css input[type=file] 樣式美化(input上傳文件樣式 )的相關(guān)資料,需要的朋友可以參考下2018-06-20基于jQuery+CSS3實(shí)現(xiàn)帶動(dòng)畫效果文件上傳插件特效源碼
基于jQuery+CSS3實(shí)現(xiàn)帶動(dòng)畫效果文件上傳插件特效源碼是一款基于jQuery+CSS3實(shí)現(xiàn)的上傳界面,支持文件拖到上傳動(dòng)畫代碼。本段特效源碼可以在各大網(wǎng)站使用,有需要的朋友直接2017-07-10HTML5+CSS3實(shí)現(xiàn)無(wú)插件拖拽上傳圖片(支持預(yù)覽與批量)
本篇文章主要介紹了HTML5+CSS3實(shí)現(xiàn)無(wú)插件拖拽上傳圖片(支持預(yù)覽與批量),現(xiàn)在html5提供了API以及File,F(xiàn)ileReader,XMLHttpRequest等強(qiáng)大的API,為我們拖放實(shí)現(xiàn)上傳提供2017-01-05文件上傳input file簡(jiǎn)便美化方案(css)
文件上傳input在各個(gè)瀏覽器里表現(xiàn)形式都不一樣,這里通過(guò)css樣式控制,盡量在多瀏覽器中的表現(xiàn)都一樣2013-01-10利用label標(biāo)簽和CSS美化文件上傳表單(不兼容IE6)
文件上傳類型表單是一個(gè)讓很多前端開(kāi)發(fā)者糾結(jié)過(guò)的表單類型,因?yàn)樗且粋€(gè)無(wú)法單純用CSS給它定義兼容的樣式。2011-06-20- 表單上傳文件的“瀏覽”按鈕修改代碼,需要的朋友可以參考下。2011-05-03