js操作css的float屬性導(dǎo)致控件變窄問題的解決

最近在寫js操作css的過程中發(fā)現(xiàn)float屬性一個(gè)問題,覺得很有必要記錄下來,直接先上代碼:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"> 
    <title>Bootstrap 實(shí)例 - 折疊面板</title>
    <link rel="stylesheet" >
    <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title" style=float:left>
                <a data-toggle="collapse" data-parent="#accordion" 
                   href="#collapseOne">
                    點(diǎn)擊我進(jìn)行展開,再次點(diǎn)擊我進(jìn)行折疊。第 1 部分
                </a>
            </h4>
            <a style=float:right; href=javascript:copy();>復(fù)制本事件到頂端</a>

        </div>
        <div id="collapseOne" class="panel-collapse collapse in">
            <div class="panel-body">
                Nihil anim keffiyeh helvetica, craft beer labore wes anderson 
                cred nesciunt sapiente ea proident. Ad vegan excepteur butcher 
                vice lomo.
            </div>
        </div>
    </div>
</div>

</body>
</html>

網(wǎng)頁的長(zhǎng)相是這樣的:

1.png

很明顯,顯示不是很正常。我們其實(shí)是想用float屬性實(shí)現(xiàn)折疊控件的抬頭區(qū)域左邊和右邊分別可以布局不同的控件,目前看雖然分為左右兩邊這個(gè)目的是達(dá)到了,但是折疊控件抬頭的高度明顯窄了好多。
通過詢問公司的前端大牛,才知道其實(shí)解決方案很簡(jiǎn)單,就是在有float屬性的空間下面加入一行“<div style=clear:both></div>”

加上后的效果:

2.png

為什么會(huì)出現(xiàn)收窄的情況呢?來看看float屬性的定義吧:

定義和用法

float 屬性定義元素在哪個(gè)方向浮動(dòng)。以往這個(gè)屬性總應(yīng)用于圖像,使文本圍繞在圖像周圍,不過在 CSS 中,任何元素都可以浮動(dòng)。浮動(dòng)元素會(huì)生成一個(gè)塊級(jí)框,而不論它本身是何種元素。

如果浮動(dòng)非替換元素,則要指定一個(gè)明確的寬度;否則,它們會(huì)盡可能地窄。

注釋:假如在一行之上只有極少的空間可供浮動(dòng)元素,那么這個(gè)元素會(huì)跳至下一行,這個(gè)過程會(huì)持續(xù)到某一行擁有足夠的空間為止。

盡可能的窄,也是醉了~ 那這時(shí)候就需要clear樣式屬性出馬了!

我們知道有時(shí)使用了css float浮動(dòng)會(huì)產(chǎn)生css浮動(dòng),這個(gè)時(shí)候就需要清理清除浮動(dòng),我們就用clear樣式屬性即可實(shí)現(xiàn)。

下面附上完整源碼:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"> 
    <title>Bootstrap 實(shí)例 - 折疊面板</title>
    <link rel="stylesheet" >
    <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title" style=float:left>
                <a data-toggle="collapse" data-parent="#accordion" 
                   href="#collapseOne">
                    點(diǎn)擊我進(jìn)行展開,再次點(diǎn)擊我進(jìn)行折疊。第 1 部分
                </a>
            </h4>
            <a style=float:right; href=javascript:copy();>復(fù)制本事件到頂端</a>
            <div style=clear:both></div>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in">
            <div class="panel-body">
                Nihil anim keffiyeh helvetica, craft beer labore wes anderson 
                cred nesciunt sapiente ea proident. Ad vegan excepteur butcher 
                vice lomo.
            </div>
        </div>
    </div>
</div>

</body>
</html>

得到幫助的網(wǎng)頁:
http://www.w3school.com.cn/cssref/pr_class_float.asp
http://www.divcss5.com/rumen/r424.shtml

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容