


Input file upload file style browser solution that supports html5_html5 tutorial skills
Recently, I used the file upload control when using canvas to process image pixels, and discovered two compatibility issues with the file upload control. One is that the width of the file upload control cannot be changed through CSS in Firefox, and the other is that the appearance and behavior of the file upload control are different in different browsers.
The following is a screenshot of the file upload control in IE10, firefox16, chrome22, opera12, safari5.1.7:
In IE10, double-clicking the input box or clicking the button will pop up the file selection box. Clicking the input box, button or text in other browsers can trigger the file selection box.
Given this chaos, it is necessary to unify styles and behaviors. Below is my compatibility scheme.
First take a look at the screenshots of the final results in each browser:
Basic idea: create input boxes and buttons to simulate file upload controls. Set the file upload control to transparent. Align the file upload control to the right of the button used for simulation. Modify the stacking order of the elements so that the button is at the bottom, the file upload control is in the middle, and the input box is at the top. After the file selection is completed, assign the value in the file upload control to the input box used for simulation.
Principle: In different browsers, the height of the button of the file upload control is adjustable, and the right side of the file upload control can be clicked. Therefore, by adjusting the height of the file upload control and adjusting the position of the file upload control (right-aligned), the clickable area of the file upload control can be completely covered by the button used for simulation. When the file upload control is transparent and the user clicks the button used for simulation, the file selection box is triggered. But at the same time, the stacking order of the file upload control cannot precede the input box used for simulation. Otherwise, when the user places the mouse on the input box they see, they may see that the cursor is not indicating text but an arrow (and an arrow The file selection box will pop up when clicked) and the user will be confused.
Implementation: First look at the html part of the code.
Then there is the css part of the code.
#file {
position:relative ;
width:226px;
height:25px;
border:1px #99f solid;
}
#file input {
font-size:16px;
margin: 0;
padding:0;
position:relative;
vertical-align:middle;
outline:none;
}
#file input[type="text"] {
border:3px none;
width:172px;
z-index:4;
}
#file input[type="button"] {
width:54px;
height:25px;
z-index:2;
}
#file input[type="file"] {
position:absolute;
right:0px;
height:25px;
opacity:0;
z-index:3;
}
The last javascript part is used to display the file path obtained by the file upload control until it is visible input box.
window.onload=function(){
var file=document.querySelector("#file input[type='file']");
var text=document.querySelector("#file input[type='text']");
file.addEventListener("change",assign,false);
function assign(){
text.value=file.value;
}
}
Welcome Leave a message to communicate or make corrections.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











The steps to register an Ouyi account are as follows: 1. Prepare a valid email or mobile phone number and stabilize the network. 2. Visit Ouyi’s official website. 3. Enter the registration page. 4. Select email or mobile phone number to register and fill in the information. 5. Obtain and fill in the verification code. 6. Agree to the user agreement. 7. Complete registration and log in, carry out KYC and set up security measures.

To safely download the Binance APP, you need to go through the official channels: 1. Visit the Binance official website, 2. Find and click the APP download portal, 3. Choose to scan the QR code, app store, or directly download the APK file to download to ensure that the link and developer information are authentic, and enable two-factor verification to protect the security of the account.

The Ouyi Exchange app supports downloading of Apple mobile phones, visit the official website, click the "Apple Mobile" option, obtain and install it in the App Store, register or log in to conduct cryptocurrency trading.

Sesame Open Door is a platform that focuses on cryptocurrency trading. Users can obtain portals through official websites or social media to ensure that the authenticity of SSL certificates and website content is verified during access.

EU MiCA compliance certification, covering 50 fiat currency channels, cold storage ratio 95%, and zero security incident records. The US SEC licensed platform has convenient direct purchase of fiat currency, a ratio of 98% cold storage, institutional-level liquidity, supports large-scale OTC and custom orders, and multi-level clearing protection.

Registering a Sesame Door Account requires 7 steps: 1. Prepare a valid email or mobile phone number and a stable network; 2. Visit the official website; 3. Enter the registration page; 4. Select and fill in the registration method; 5. Obtain and fill in the verification code; 6. Agree to the user agreement; 7. Complete registration and log in, it is recommended to carry out KYC and set security measures.

After the USDT transfer address is incorrect, first confirm that the transfer has occurred, and then take measures according to the error type. 1. Confirm the transfer: view the transaction history, obtain and query the transaction hash value on the blockchain browser. 2. Take measures: If the address does not exist, wait for the funds to be returned or contact customer service; if it is an invalid address, contact customer service and seek professional help; if it is transferred to someone else, try to contact the payee or seek legal help.

Visit Binance official website and check HTTPS and green lock logos to avoid phishing websites, and official applications can also be accessed safely.
