在使用 layer.js 做彈框的時候,遇到在瀏覽器縮小時,彈框顯示不全的問題,如下:
這是不行的,因為我們有的時候想縮小瀏覽器視窗,但是一旦縮小到一定程度,就會把彈窗的關閉按鈕遮住一部分,並且主體彈框還會出現上下移動的滾動條,對於客戶的體驗是很差的
1. 彈窗使用的代碼調用如下:
1 layer.open({ 2 title: false, 3 type: 2, 4 content: ['./detail/zhuce.html', 'no'], 5 area: ['400px', '650px'], 6 });
從上面的參數看,寬度是固定的,但是為什么窗口縮小之后,顯示就不一樣了呢
2. 懷疑是css 引起的,這里影響的是關閉按鈕,查看關閉按鈕的css,如下:
1 .layui-layer-setwin .layui-layer-close2 { 2 position: absolute; 3 right: -28px; 4 top: -28px; 5 width: 30px; 6 height: 30px; 7 margin-left: 0; 8 background-position: -149px -31px; 9 }
可以看出,關閉按鈕的位置是有點超出了主體的,那么把關閉按鈕移動到主體內,是否可以ok呢?在css 中加入以下設置:
1 .layui-layer-setwin .layui-layer-close2 { 2 right: -13px !important; 3 top: -13px !important; 4 }
變更之后,顯示效果如下:
居然OK 了,不論怎么縮小視窗,都不會把關閉按鈕隱藏了,也不會出現滾動條了
綜上:關閉按鈕在視窗縮小后有部分隱藏,原因是關閉按鈕的css 引起的,只要把關閉按鈕移動到 主體位置內,顯示效果就ok了