Я использовал модальное окно для создания всплывающего окна, когда моя страница загружается.
Мой код отлично работает на моем тестовом коде: https://codepen.io/nico3d911/pen/yjBRrK?editors=1010
Но когда я хочу поместить это в свой настоящий проект, в основном скопировать вставку, у меня нет никакого результата :(
https://codepen.io/nico3d911/pen/odvmPR?editors=1011
HTML:
<div class = "modal">
<div class = "modal-content">
<h1>Choose your team!</h1>
<span class = "close-button" style='color:#4286f4' onclick = 'test()'>X</span>
<span class = "close-button" style='color:#e29126' onclick = 'test()'>O</span>
</div>
</div>
CSS:
.modal {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
opacity: 0;
visibility: hidden;
transform: scale(1.1);
transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
}
.modal-content {
text-align: center;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: white;
padding: 1rem 1.5rem;
width: 24rem;
border-radius: 0.5rem;
}
.close-button {
display: inline-block;
margin: 0 auto;
width: 1.5rem;
line-height: 1.5rem;
cursor: pointer;
border-radius: 100%;
border: 2px solid lightgray;
padding: 20px;
margin: 10px 15px 10px 15px;
font-size:2em;
}
.close-button:hover {
border: 2px solid #3fcc64;
}
.show-modal {
opacity: 1;
visibility: visible;
transform: scale(1.0);
transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
}
Javascript:
// Modal
window.onload = function(){
toggleModal();
};
var modal = document.querySelector(".modal");
function toggleModal() {
modal.classList.toggle("show-modal");
}
function test() {
modal.classList.toggle("show-modal");
player.team = 'X';
console.info(player);
}
У меня также есть оверлей на странице, но я не думаю, что эти 2 конфликтуют ...
Спасибо за помощь!
Я добавил CSS! и исправил html в файле CSS. Но все равно не работает.
Ссылка на начальную загрузку в заголовке вашего html имеет класс с именем «модальный» и является конфликтной. Если вы удалите модальное окно или измените его на другое имя, оно будет работать.
Я скопировал и вставил ваш код codepen и увидел, что css в модальный отсутствует в основном проекте, и у вас также была некоторая разметка html в вашем файле css.
Также у вашего модального окна есть класс модальный, и он конфликтует с начальной загрузкой, у которой также есть класс с именем модальный. Вы должны дать своему имени другое имя. Даже при этом вам нужно изменить свой css, потому что bootstrap дает box-sizing: border-box
всем элементам, поэтому он возится с вашим css.
Привет, я скопировал и вставил ваш код и увидел, что модальный css отсутствует. И у вас есть разметка HTML в вашем файле css.