Вывожу блок
//block search
$('.openSearch').click(function () {
$('.social__hidd').stop().css({
opacity: 0.0,
display:'none'
});
$('.search').stop().fadeIn(0).css({
display:'flex'
}).css({
// display: '-webkit-flex'
});
});
$('.closeSearch').click(function () {
$('.social__hidd').stop().css({
opacity: 1,
display:'block'
});
$('.search').fadeOut(0);
});
.search{
color: @search;
position: absolute;
right: 0;
top: 20%;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: none;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
z-index: 25;
i{
color: #fff;
}
&__cont{
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
border-bottom: 1px solid @search;
margin-right: 13px;
}
&__input{
width: 207px;
background-color: transparent;
border:none;
height: 30px;
outline: none;
}
<div class="social">
<div class="social__hidd">
<a href=""><i class="fa fa-facebook" aria-hidden="true"></i></a>
<a href=""><i class="fa fa-twitter" aria-hidden="true"></i></a>
<a href=""><i class="fa fa-instagram" aria-hidden="true"></i></a>
<i class="fa fa-search openSearch" aria-hidden="true"></i>
</div>
</div>
<div class="search">
<div class="search__cont">
<input class="search__input main-textLato" type="text" placeholder="Search...">
<a href=""><i class="fa fa-search" aria-hidden="true"></i></a>
</div>
<i class="fa fa-times closeSearch" aria-hidden="true"></i>
</div>
По нажатию на кнопку поиск .openSearch
:
Скрываются соц сети .social
и показывается блок .search
. Блок .search
организован на flex, поэтому через jq назначаю ему display:'flex'
. Во всех браузерах, кроме Safari, работает нормально:
Но в Safari не так:
Причину узнал, дело в том что во всех браузерах код jq работает корректно и блоку .search
назначается инлайновый стиль display:flex
, однако в Safari вместо этого назначается инлайновый стиль display:block
. Почему так происходит понять не могу, что делаю не так? Спасибо!
У вас есть код для flexbox с вендорными префиксами наверняка для поддержки старых браузеров.
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
Так вот, чтобы это работало сделайте так. Вынесите этот код в класс
.flex {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
Затем из jQuery используйте функцию toggleClass
с классом flex
. Либо ещё функции addClass
и removeClass
.
Также в jQuery UI функция toggleClass
расширена и позволяет анимировать включение/отключение класса.
Либо также можно просто перестать поддерживать довольно старые браузеры (если это допустимо для вас). Я считаю, что имею право с нынешним темпом развития называть браузеры 2012 года старыми.
Виртуальный выделенный сервер (VDS) становится отличным выбором
При подключении шрифта из google fonts, начинают смещаться соседние элементы от элементов с установленным шрифтомЧто за косяки? первую проблему...
В общем, стоит задача сделать галерею для портфолио, блоки располагаются ровно один под одним
Хочу узнать у опытных программистов, возможно ли реализовать переход по ссылке, но так чтоб оказаться на определенном блоке страницы, а не в ее начале,...