您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何通過CSS定位操作的動態元素大小,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
假設你想制作一個包含每個屏幕100px以外的所有屏幕的模式框,你將如何解決這個問題?
假設你想要制作一個覆蓋所有屏幕的模態框,除了每個邊界的100px,你會如何解決這個問題?
HTML
<div class="popup">some content</div>
首先我們需要添加一個屬性 position:fixed到我們的div。
之后我們想要從視口的每一側定位模態框100px, 為什么我們不應該給它全部4位置屬性參數(頂部,右側,底部,左側)?
解決方法是,你可以給出固定/絕對定位的所有4個參數,top:100px,right:100px,bottom:100px; left:100px;。
通過這樣做,您可以從每側100px相應地制作動態元素大小。
CSS
.popup{ position:fixed; z-index:5; left:100px; right:100px; top:100px; bottom:100px; /*some styles*/ background-color:#ccc; border-radius:10px; border:solid 3px #000; padding:20px; }
結果div是一個自動大小模式框,沒有一行JS。
完整代碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .popup{ position:fixed; z-index:5; left:100px; right:100px; top:100px; bottom:100px; background-color:#ccc; border-radius:10px; border:solid 3px #000; padding:20px; } </style> </head> <body> <div class="popup">文字內容</div> </body> </html>
現在,假設你想在模式框下面添加遮罩,完全一樣的想法!
以下是解決方案:
HTML:
<div class="mask"></div>
CSS
.mask{ position:fixed; z-index:2; left:0; right:0; top:0; bottom:0; background-color:rgba(0,0,0,0.8); }
完整代碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .popup{ position:fixed; z-index:5; left:100px; right:100px; top:100px; bottom:100px; background-color:#ccc; border-radius:10px; border:solid 3px #000; padding:20px; } .mask{ position:fixed; z-index:2; left:0; right:0; top:0; bottom:0; background-color:rgba(0,0,0,0.8); } </style> </head> <body> <div class="popup">文字內容</div> <div class="mask"></div> </body> </html>
關于如何通過CSS定位操作的動態元素大小就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。