Открыв сайт Instagram в браузере и посмотрев код, заметил, что классы имеют очень странные и нелогичные имена наподобие "McUv5" или "Cfe3N". Причем имена классов для одних и тех же элементов иногда меняются на другие, но такие же бессмысленные. Как мне кажется, это сделано, чтобы препятствовать парсингу страницы. Если я неправ, то зачем элементам даются такие классы? И еще. Как это реализовывается? С помощью чего? И где можно про это подробнее прочитать?
@import 'custom';
@import '~bootstrap/scss/bootstrap';
@import 'main';
$grid-breakpoints: (
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px,
xxl: 1920px
);
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1200px,
xxl: 1918px
);
$colors: (
blue: #1799d3,
pink: #e20073
);
$theme-colors: (
primary: #1799d3,
pink: #e20073
);
$body-color: #444;
$line-height-base: 1.2;
<button id="sort" type="button">Sort</button>
<br><br>
<div id="body">
<div class="listing-item" data-event-date="2017-05-02">2017-05-02</div>
<div class="listing-item" data-event-date="2018-01-07">2018-01-07</div>
<div class="listing-item" data-event-date="2017-06-05">2017-06-05</div>
<div class="listing-item" data-event-date="2018-01-03">2018-01-03</div>
<div class="listing-item" data-event-date="2017-08-08">2017-08-08</div>
</div>
const items = [...document.querySelectorAll('.listing-item')];
function compare(a, b) {
const aData = new Date($(a).data('event-date'));
const bData = new Date($(b).data('event-date'));
if (aData < bData) {
return -1;
}
if (aData > bData) {
return 1;
}
return 0;
}
$('#sort').on('click', () => {
items.sort(compare);
$('#body').empty();
items.forEach(item => {
$('#body').append(item);
});
});
owl-carousel - там, вроде как, нельзя добавить миниатюры, хотя слайдер замечательный
.row.is-flex {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.row.is-flex > [class*='col-'] {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
if(platform.product === 'iPad') {
document.body.classList.add('is-tablet');
}
@media(min-width: 1280px) {
.is-tablet {
// код CSS
}
}