Не могу стиль Fancybox модальный - PullRequest
2 голосов
/ 16 февраля 2020

У меня проблемы с стилизацией модала, который я настроил открыть с помощью модной коробки. Содержимое для модального / 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

Ответы [ 2 ]

1 голос
/ 16 февраля 2020

Если ваши обычные селекторы не могут применять стили, попробуйте выбрать элементы более конкретно.

Идентификаторы имеют более высокое значение c, поскольку они уникальны.

Указаны имена классов c тоже, но они также используются в других таблицах стилей

Имена тегов не являются наиболее точными c, потому что они могут быть найдены в любом месте страницы

И * селектор имеет самую низкую специфичность в 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>
0 голосов
/ 16 февраля 2020

Fancybox добавляет fancybox-content имя класса к содержимому, чтобы добавить некоторые необходимые CSS свойства и некоторые стили по умолчанию, например, белый цвет фона, отступы.

Поэтому вы просто переопределяете эти правила, например:

.fancybox-content.red {
  background: red;
  padding: 10px 20px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...