无法设置 Fancybox 模态样式
Can't style Fancybox modal
我在设置使用花式框打开的模态样式时遇到问题。 modal/div 的内容在点击后毫无问题地显示出来,但似乎我应用于该模态 div 的所有样式都拒绝显示。
.hidden{
display:none;
}
.red{
background: red;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>modal</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css">
</head>
<body>
<div>
<a data-fancybox data-src="#open" href="javascript:;">Open modal box</a>
</div>
<div class="hidden">
<div class="red" id="open">
<h2>Hello</h2>
<p>You are awesome.</p>
</div>
</div>
</body>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
</html>
这是我在 Codepen
上的 setup
如果您的普通 select 或无法应用样式,请尝试更具体地应用 select 元素。
ID 具有更高的特定性,因为它们是唯一的。
Class 名称也很具体,但它们也用于其他样式表
标签名称不是最具体的,因为它们可以在页面的任何地方找到
和*
select或在css
中特异性最低
div.red{background: red;} // Selects divs that have 'red' classname
.hidden{
display:none;
}
div.red{
background: red;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>modal</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css">
</head>
<body>
<div>
<a data-fancybox data-src="#open" href="javascript:;">Open modal box</a>
</div>
<div class="hidden">
<div class="red" id="open">
<h2>Hello</h2>
<p>You are awesome.</p>
</div>
</div>
</body>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
</html>
Fancybox 将 fancybox-content
类名添加到内容中以添加一些必要的 CSS 属性和一些默认样式,例如白色背景颜色、填充。
因此您只需覆盖这些规则,例如:
.fancybox-content.red {
background: red;
padding: 10px 20px;
}
我在设置使用花式框打开的模态样式时遇到问题。 modal/div 的内容在点击后毫无问题地显示出来,但似乎我应用于该模态 div 的所有样式都拒绝显示。
.hidden{
display:none;
}
.red{
background: red;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>modal</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css">
</head>
<body>
<div>
<a data-fancybox data-src="#open" href="javascript:;">Open modal box</a>
</div>
<div class="hidden">
<div class="red" id="open">
<h2>Hello</h2>
<p>You are awesome.</p>
</div>
</div>
</body>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
</html>
这是我在 Codepen
上的 setup如果您的普通 select 或无法应用样式,请尝试更具体地应用 select 元素。
ID 具有更高的特定性,因为它们是唯一的。
Class 名称也很具体,但它们也用于其他样式表
标签名称不是最具体的,因为它们可以在页面的任何地方找到
和*
select或在css
div.red{background: red;} // Selects divs that have 'red' classname
.hidden{
display:none;
}
div.red{
background: red;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>modal</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css">
</head>
<body>
<div>
<a data-fancybox data-src="#open" href="javascript:;">Open modal box</a>
</div>
<div class="hidden">
<div class="red" id="open">
<h2>Hello</h2>
<p>You are awesome.</p>
</div>
</div>
</body>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
</html>
Fancybox 将 fancybox-content
类名添加到内容中以添加一些必要的 CSS 属性和一些默认样式,例如白色背景颜色、填充。
因此您只需覆盖这些规则,例如:
.fancybox-content.red {
background: red;
padding: 10px 20px;
}