gpt4 book ai didi

仅 CSS 灯箱解决方案

转载 作者:太空宇宙 更新时间:2023-11-04 13:43:33 29 4
gpt4 key购买 nike

我正在为我的元素开发一个纯 CSS 灯箱解决方案。我用谷歌搜索了它,但到目前为止只找到了部分解决方案。

我正在寻找这些功能:

  • 显示任意宽任意高的内容(无固定高/宽)
  • 垂直居中和水平居中
  • 如果内容宽度和/或高度由于视口(viewport)尺寸而溢出灯箱边界,则显示滚动条。

到目前为止我有这个:

.lb-overlay {
text-align: center;
background: #c0c0c0;
background: rgba(0,0,0,0.5);
border: #a0a0a0 solid 1px;
position: fixed;
left: 0;
top: 0; right: 0; bottom: 0;
z-index: 10000;
}

.lb-overlay:after {
content: '';
display: inline-block;
height: 100%;
width: 0;
vertical-align: middle;
background-color: #f00;
}

.lb-wrap {
display: inline-block;
vertical-align: middle;
position: relative;
background: #ffffff;
max-height: 90%;
max-width: 90%;
z-index: 10001;
-webkit-box-shadow: 0 0 8px rgba(0,0,0,0.25);
-moz-box-shadow: 0 0 8px rgba(0,0,0,0.25);
box-shadow: 0 0 8px rgba(0,0,0,0.25);
}

.lb-content {
position: relative;
overflow: auto;
margin: 2em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

.lb-close {
position: absolute; right: 0; top: 0;
background-color: #d00000;
margin: 0;
color: #fff;
padding: 4px;
line-height: 1em;
width: 2em;
height: 2em;
border: 0;
outline: 0;
cursor: pointer;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.lb-close:hover { background-color: #f00000; }

http://jsfiddle.net/TomasReichmann/F4D5u/1/

问题:

  • 没有出现垂直滚动条
  • 水平滚动条仅适用于 chrome

理想情况下,我正在寻找与现代浏览器和 IE8+ 的兼容性,但我可以接受 IE9+

你们能帮忙吗?

最佳答案

  1. 摆脱不必要的尺码模型
  2. 将叠加层全尺寸设置为 width: 100%;高度:100%;
  3. 使用 margin: auto 和 position: absolute;顶部:0;左:0;底部:0;右:0;在垂直和水平方向上居中对齐叠加层中的换行
  4. 使用宽度和高度代替最大宽度和最大高度
  5. 使用 padding on wrap 来控制内容周围的边框
  6. 使用溢出:自动;宽度:100%;高度:100%;在内容上

总结:http://jsfiddle.net/F4D5u/8/

完整样式代码:

.lb-overlay {
background: #c0c0c0;
background: rgba(0,0,0,0.5);
position: fixed;
left: 0; top: 0; right: 0; bottom: 0;
z-index: 10000;
margin: 0;
width: 100%; height: 100%;
}

.lb-wrap {
margin: auto;
position: absolute; top: 0; left: 0; bottom: 0; right: 0;
background: #ffffff;
width: 70%; height: 70%;
padding : 2em;
-webkit-box-shadow: 0 0 8px rgba(0,0,0,0.25);
-moz-box-shadow: 0 0 8px rgba(0,0,0,0.25);
box-shadow: 0 0 8px rgba(0,0,0,0.25);
}

.lb-content {
overflow: auto;
width: 100%; height: 100%;
}

.lb-close {
position: absolute; right: 0px; top: 0px;
background-color: #d00000;
margin: 0;
color: #fff;
padding: 4px;
line-height: 1em;
width: 2em;
height: 2em;
border: 0;
outline: 0;
cursor: pointer;
}
.lb-close:hover { background-color: #f00000; }

关于仅 CSS 灯箱解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22630831/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com