无法设置 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;
}