Html 最大高度在Safari中无法正常工作
我正在尝试使用以下代码创建响应性手风琴:Html 最大高度在Safari中无法正常工作,html,css,accordion,Html,Css,Accordion,我正在尝试使用以下代码创建响应性手风琴: <div class="tabs specs"> <div class="tab"> <input type="checkbox" id="chck1"> <label class="tab-label" for="chck1">GIFT DETAIL
<div class="tabs specs">
<div class="tab">
<input type="checkbox" id="chck1">
<label class="tab-label" for="chck1">GIFT DETAILS</label>
<div class="tab-content">
<p>Simple and Elegant Love Letter/Card Message Included Inside Standard Gift Box.</p>
</div>
</div>
<div class="tab">
<input type="checkbox" id="chck2">
<label class="tab-label" for="chck2">SHIPPING TIME</label>
<div class="tab-content">
<p>Simple and Elegant Love Letter/Card Message Included Inside Standard Gift Box.</p>
</div>
</div>
</div>
<style>
.tabs {
overflow: hidden;
}
.tab {
width: 100%;
color: white;
overflow: hidden;
}
.tab-label {
display: -webkit-box;
display: flex;
-webkit-box-pack: justify;
justify-content: space-between;
padding-top: 0.5em;
padding-bottom: 0.5em;
background: white;
font-weight: bold;
font-size: 15px;
cursor: pointer;
color: #333333;
/* Icon */
}
.tab-label:hover {
background: white;
}
.tab-label::after {
content: "\276F";
width: 1em;
height: 1em;
text-align: center;
-webkit-transition: all .35s;
transition: all .35s;
}
.tab-content {
max-height: 0;
padding: 0 1em;
color: #333333;
background: white;
-webkit-transition: all .35s;
transition: all .35s;
}
input:checked + .tab-label {
background: white;
}
input:checked + .tab-label::after {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
input:checked ~ .tab-content {
max-height: 100vh;
padding: 1em;
}
.specs input {
position: absolute;
opacity: 0;
z-index: -1;
}
</style>
礼品详情
标准礼品盒内包含简单优雅的情书/贺卡信息
装运时间
标准礼品盒内包含简单优雅的情书/贺卡信息
.标签{
溢出:隐藏;
}
.标签{
宽度:100%;
颜色:白色;
溢出:隐藏;
}
.标签标签{
显示:-网络工具包盒;
显示器:flex;
-webkit盒包:证明;
证明内容:之间的空间;
垫面:0.5em;
垫底:0.5em;
背景:白色;
字体大小:粗体;
字体大小:15px;
光标:指针;
颜色:#333333;
/*图标*/
}
.选项卡标签:悬停{
背景:白色;
}
.tab标签::之后{
内容:“\276F”;
宽度:1米;
高度:1米;
文本对齐:居中;
-webkit转换:全部.35秒;
过渡:全部.35s;
}
.选项卡内容{
最大高度:0;
填充:0.1em;
颜色:#333333;
背景:白色;
-webkit转换:全部.35秒;
过渡:全部.35s;
}
输入:选中+选项卡标签{
背景:白色;
}
输入:选中+。选项卡标签::后{
-webkit变换:旋转(90度);
变换:旋转(90度);
}
输入:选中~。选项卡内容{
最大高度:100vh;
填充:1em;
}
.规格输入{
位置:绝对位置;
不透明度:0;
z指数:-1;
}
当手风琴在Safari(移动和桌面)上工作时,出现了一个错误,内容在我点击标签之前就被显示了
我尝试过使用max-height:auto,但没有成功。有人能告诉我我做错了什么吗?你可以使用
高度
和不透明度
来制作手风琴的动画,而不是最大高度
。这也适用于MacOS和iOS上的Safari。为了使“跳跃”在折叠后消失,我还删除了段落的边距。我已经调整了:
.tab内容{
/*删除:最大高度:0*/
/*新的*/
身高:0;
不透明度:0;
/* ... */
}
/*新的*/
.tab内容页{
保证金:0;
}
输入:选中~。选项卡内容{
/*新的*/
高度:自动;
不透明度:1;
/*移除:最大高度:100vh*/
/* ... */
}
这是一个完整的代码。您可以使用
height
和opacity
来设置手风琴的动画,而不是max height
。这也适用于MacOS和iOS上的Safari。为了使“跳跃”在折叠后消失,我还删除了段落的边距。我已经调整了:
.tab内容{
/*删除:最大高度:0*/
/*新的*/
身高:0;
不透明度:0;
/* ... */
}
/*新的*/
.tab内容页{
保证金:0;
}
输入:选中~。选项卡内容{
/*新的*/
高度:自动;
不透明度:1;
/*移除:最大高度:100vh*/
/* ... */
}
这是一个完整的代码。您尝试过这些解决方案吗?@SigurdMazanti是的,我尝试过,没有一个对我有效。使用position:absolute,它甚至会使文本彼此重叠。为什么要尝试
max height:auto
?那不是。你应该举一个可运行的例子,很难说你的问题是什么。你尝试过这些解决方案吗?@SigurdMazanti是的,我尝试过,没有一个对我有效。使用position:absolute,它甚至会使文本彼此重叠。为什么要尝试max height:auto
?那不是。你应该做一个可运行的例子,很难判断你的问题是什么