欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門教程網(wǎng)!

CSS/HTML

當(dāng)前位置:主頁(yè) > 網(wǎng)頁(yè)制作 > CSS/HTML >

HTML中文件上傳時(shí)使用的<input type="file"

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:CSS/HTML|點(diǎn)擊: 次

Web頁(yè)面中,在需要上傳文件時(shí)基本都會(huì)用到<input type="file">元素,它的默認(rèn)樣式:

chrome下:

IE下:

不管是上面哪種,樣式都比較簡(jiǎn)單,和很多網(wǎng)頁(yè)的風(fēng)格都不太協(xié)調(diào)。

根據(jù)用戶的需求,設(shè)計(jì)風(fēng)格,改變其顯示樣式的場(chǎng)合就比較多了。

如果,要像下面一樣做一個(gè)bootstrap風(fēng)格的上傳按鈕該如何實(shí)現(xiàn)。

搭建上傳按鈕所需的基本元素


復(fù)制代碼
代碼如下:
<span> <span>上傳</span> <input type="file"> </span>

效果(chrome):

現(xiàn)在看到的分兩行顯示。

外圍之所以沒有換成div,是因?yàn)樵贗E7-瀏覽器中,只要不是設(shè)成inline,它的寬度全都會(huì)撐開到能撐到的寬度。如果設(shè)成inline,那元素的寬度就無(wú)法調(diào)整,所以這里用span然后設(shè)成inline-block能解決這樣的問題。

增加樣式將兩行變成一行


復(fù)制代碼
代碼如下:
<span"> <span>上傳</span> <input type="file"> </span>

css:


復(fù)制代碼
代碼如下:
.fileinput-button { position: relative; display: inline-block; } .fileinput-button input{ position: absolute; right: 0px; top: 0px; }

效果:

默認(rèn)是沒有淺藍(lán)色邊框,只有鼠標(biāo)去點(diǎn)擊后,才會(huì)顯示,這里顯示出來(lái)是為了看得清楚。

通過(guò)將外圍的span設(shè)成display:relative,將input設(shè)成display:absolute的方式讓他們都脫離文檔流。

通過(guò)將input限定在外圍的span中進(jìn)行絕對(duì)定位的方式讓本來(lái)兩行顯示的變成一行顯示。

實(shí)際上這里已經(jīng)overflow了,真正的寬度是“上傳”文字的寬度,修改fileinput-button樣式增加overflow: hidden


復(fù)制代碼
代碼如下:
.fileinput-button { position: relative; display: inline-block; overflow: hidden; }

效果:

很有意思,能看到上邊后右邊的藍(lán)色邊框了吧,其實(shí)就是把左邊和下邊的溢出部分給隱藏了。

這時(shí)候用鼠標(biāo)去點(diǎn)擊“上傳”兩個(gè)字實(shí)際上是點(diǎn)在input上,能夠顯示“打開”對(duì)話框,因?yàn)轱@示層級(jí)上input要比“上傳”更靠近用戶。

注意input定位中的right,為什么不用left定位。

當(dāng)我們改成left后。

效果(chrome):

效果(IE):

在chrome下input元素中的選擇按鈕露出來(lái),但是沒關(guān)系,可以通過(guò)后面的設(shè)透明的方式把它透明掉。

但是在IE下確是會(huì)把輸入框露出來(lái),關(guān)鍵是鼠標(biāo)移到輸入框上時(shí),指針會(huì)變成輸入狀態(tài),這個(gè)就很沒法處理了。

通過(guò)right的定位方式把輸入框移到左邊去的方式,可以在IE下回避出現(xiàn)鼠標(biāo)指針變成輸入態(tài)的情況。

透明input元素

css:


復(fù)制代碼
代碼如下:
.fileinput-button { position: relative; display: inline-block; overflow: hidden; } .fileinput-button input{ position: absolute; left: 0px; top: 0px; opacity: 0; -ms-filter: 'alpha(opacity=0)'; }

效果:

input完全不見了蹤影,點(diǎn)擊“上傳”依然有效。

可以支持IE8+。

引入bootstrap,并添加按鈕樣式

head中增加外部css和js的引用。


復(fù)制代碼
代碼如下:
<link rel="stylesheet" href="bootstrap/bootstrap.css"> <link rel="stylesheet" href="bootstrap/bootstrap-theme.css"> <script src="bootstrap/jquery-1.10.2.js"></script> <script src="bootstrap/bootstrap.js"></script>

增加按鈕樣式。


復(fù)制代碼
代碼如下:
<span> <span>上傳</span> <input type="file"> </span>

效果:

解決大小問題

如果為fileinput-button樣式增加width:100px,將外圍的span設(shè)成寬100px,會(huì)發(fā)現(xiàn)點(diǎn)擊下部是沒有反應(yīng)的,原因就是input是默認(rèn)大小,無(wú)法覆蓋下部。

可以通過(guò)為input設(shè)置一個(gè)很大的字號(hào)將其撐大的方式來(lái)解決覆蓋問題,這里就設(shè)個(gè)200px。


復(fù)制代碼
代碼如下:
.fileinput-button input{ position:absolute; right: 0px; top:0px; opacity: 0; -ms-filter: 'alpha(opacity=0)'; font-size: 200px; }

這樣就能解決覆蓋問題。

完成。

參考:jQuery-File-Upload

如果是要兼容IE7-可以參考jQuery-File-Upload中的寫法。

代碼:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.     <title></title>  
  5.     <meta http-equiv="Content-Type" content="text/html;charset=utf-8">  
  6.     <link rel="stylesheet" href="bootstrap/bootstrap.css">  
  7.     <link rel="stylesheet" href="bootstrap/bootstrap-theme.css">  
  8.     <script src="bootstrap/jquery-1.10.2.js"></script>  
  9.     <script src="bootstrap/bootstrap.js"></script>  
  10.     <style>  
  11.         .fileinput-button {   
  12.             position: relative;   
  13.             display: inline-block;   
  14.             overflow: hidden;   
  15.         }   
  16.         .fileinput-button input{   
  17.             position:absolute;   
  18.             right: 0px;   
  19.             top: 0px;   
  20.             opacity: 0;   
  21.             -ms-filter: 'alpha(opacity=0)';   
  22.             font-size: 200px;   
  23.         }   
  24.     </style>  
  25. </head>  
  26. <body style="padding: 10px">  
  27.     <div align="center">  
  28.         <span class="btn btn-success fileinput-button">  
  29.             <span>上傳</span>  
  30.             <input type="file">  
  31.         </span>  
  32.     </div>  
  33. </body>  
  34. </html>  

上一篇:CSS3文本陰影text-shadow屬性詳解

欄    目:CSS/HTML

下一篇:html制作細(xì)線表格的簡(jiǎn)單實(shí)例

本文標(biāo)題:HTML中文件上傳時(shí)使用的&amp;lt;input type=&quot;file&quot;

本文地址:http://mengdiqiu.com.cn/a1/CSS_HTML/9625.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有