html5默認(rèn)氣泡怎么修改

這篇文章主要介紹了html5默認(rèn)氣泡怎么修改,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為海城企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè),海城網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

html5默認(rèn)氣泡修改

默認(rèn)的瀏覽器氣泡樣式:

谷歌瀏覽器

html5默認(rèn)氣泡怎么修改 
 

火狐瀏覽器

html5默認(rèn)氣泡怎么修改 
 

IE瀏覽器

html5默認(rèn)氣泡怎么修改 
 

在谷歌29版本之前可以使用偽元素進(jìn)行修改:

::-webkit-validation-bubble 不過已被廢棄?。。?/p>

新的解決方案:

效果圖:

html5默認(rèn)氣泡怎么修改 
 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>form</title>
    <style>
        .container{margin:100px;font-size:14px;position: relative;}
        .item{position: relative;width:250px;height:40px;margin-bottom: 10px;}
        input{width:250px;height:20px;line-height:20px;border-radius: 4px;border:1px solid #999;color:#999;margin-bottom:10px;padding:5px;position: absolute;left:66px;}
        input:focus{border:2px solid rgb(90,152,210);}
        .item label{position: absolute;left:0;top:5px;}
        input[type=submit]{height:30px;line-height:20px;position:absolute;left:0;background-color: rgb(90,152,210);color:#fff;width:60px;}
        .error-msg{
            color: red;
            font-size: 12px;
            position: absolute;
            bottom: -8px;
            left: 65px;
            width: 329px;
        }
    </style>
</head>
<body>
    <div class="container">
        <form action="#" id="form">
            <div class="item">
                <label for="username">用戶名</label>
                <input type="text" id="username" required pattern="^1[0-9]{10}$">
            </div>
            <div class="item">
                <label for="password">郵箱</label>
                <input type="email" id="email" required>
            </div>
            <input type="submit" value="提交" id="submit">
        </form>
    </div>
    <script>
        function myui(form){
            //阻止默認(rèn)氣泡
            form.addEventListener("invalid",function(e){
                e.preventDefault();
            },true)
            //注意要設(shè)置為true
            //當(dāng)Event對象的cancelable為false時(shí),表示沒有默認(rèn)行為,這時(shí)即使有默認(rèn)行為,調(diào)用 preventDefault也是不會起作用的

            //驗(yàn)證不通過,則阻止表單提交
            form.addEventListener("submit",function(e){
                if(!this.checkValidity()){
                    e.preventDefault();
                }
                
            },true)

            //點(diǎn)擊提交觸發(fā)的事件
            submit.addEventListener("click",function(e){
                var invalids=form.querySelectorAll(":invalid"),
                    errMsgs=form.querySelectorAll(".error-msg"),
                    parent;

                //循環(huán),清除掉上一次添加的所有錯誤信息
                for(var i=0;i<errMsgs.length;i++){
                    errMsgs[i].parentNode.removeChild(errMsgs[i]);
                }

                //循環(huán),添加新的錯誤信息
                for(var i=0;i<invalids.length;i++){
                    parent=invalids[i].parentNode;
                    /*
                    element.insertAdjacentHTML(position, text);
                    beforebegin: 元素自身的前面。
                    afterbegin: 插入元素內(nèi)部的第一個(gè)子節(jié)點(diǎn)之前。
                    beforeend: 插入元素內(nèi)部的最后一個(gè)子節(jié)點(diǎn)之后。
                    afterend: 元素自身的后面。
                    text是要被解析為HTML或XML,并插入到DOM樹中的字符串

                     */
                    parent.insertAdjacentHTML("beforeend","<div class='error-msg'>"+invalids[i].validationMessage+"</div>");
                }

                //如果存在錯誤信息,則給第一個(gè)錯誤信息一個(gè)focus
                if(invalids.length>0){
                    invalids[0].focus();
                }
            })
        }
        myui(form);
    </script>
</body>
</html>

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“html5默認(rèn)氣泡怎么修改”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

網(wǎng)站名稱:html5默認(rèn)氣泡怎么修改
標(biāo)題路徑:http://bm7419.com/article36/pcossg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、商城網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站維護(hù)、網(wǎng)站收錄、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司