Задать вопрос
  • Как включить font-display для Google шрифтов?

    Tolly
    @Tolly Автор вопроса
    проще, но может чего подскажут, чего еще не знаю )
  • Как включить font-display для Google шрифтов?

    Tolly
    @Tolly Автор вопроса
    iBird Rose, а Вы как решили это вопрос?
    Шрифты выкачали на сервер или как обычно подгружаете через import?
  • Почему не работает viewport?

    Tolly
    @Tolly Автор вопроса
    Что-то это совсем не то!

    У меня и так резиновый сайт, вопрос был только про планшет, он почему-то не масштабировал, хотя ранее нормально все работало.
    Предварительно все дело в кеше, так как после перезагрузки он реанимировался и опять все заработало.

    Тему пока не закрываю, так как может не в кеше дело, а еще в чем-то.
  • Почему не работает viewport?

    Tolly
    @Tolly Автор вопроса
    У меня на сайте в отладочной информации, сам на js написал, тоже самое показывает, так что на сайте ничего нового не увидел.

    PS. На планшете батарейка кончилась, он выключился, сейчас зарядил, включил его и о чудо, правильно все работает. Подозреваю, что дело было в кеше, так как это не десктопный браузер и тут сложно как-то обнулить кеш. Опыты продолжаются )
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    Сегодня посмотрел последнее видео Вадима Микеева, и решил перейти на img, понравилось про <picture>, хотел это все реализовать на js, ну да ладно через css сделаю.
    Еще раз пересмотрел видео про полифил, проверил его у себя, а оно не работает, что только не делал. Короче запилил свой (подглядел в Интернете и под себя оптимизировал) полифил:
    spoiler
    <img src="https://loremflickr.com/640/480" data-object-fit="cover">
    	<img src="https://loremflickr.com/640/480" data-object-fit="contain">
    
    	<script>
    		// Detect objectFit support
    		if ('objectFit' in document.documentElement.style === false) {
    			document.addEventListener('DOMContentLoaded', function () {
    				Array.prototype.forEach.call(document.querySelectorAll('img[data-object-fit]'), function (image) {
    					image.style.background = 'url("' + image.src + '") no-repeat 50%/' + image.getAttribute('data-object-fit');
    					image.src = 'data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'' +
    											image.width + '\' height=\'' + image.height + '\'%3E%3C/svg%3E';
    				});
    			});
    		}
    	</script>


    Вы еще не делали автоматизацию "по распиливанию" картинки?
    А то не отказался бы от bash сценария, хотя без разницы на чем сценарий.

    PS. ОС Debian, но это тоже не важно.
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    Я вопрос уже давно решил, разве не видно?
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    А теперь реклама.. :)
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    а) Спасибо за информацию про 5 потоков, но думаю, что если сервер нормальный (других не знаю), то смысла в 5-ти потоках нет, лучше использовать один, так как полоса занята будет под завязку

    б) это я уже реализовал на JS без jQuery

    Вопрос в силе, на какое событие повесить проверку загрузки картинок?
    По времени как-то.. ну не знаю.
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    Может еще подскажите реализацию всего этого?

    Хочется так:
    1. везде, где надо подгрузить картинку, вешаем класс
    2. далее все картинки с классом "пихаем" в массив
    3. далее берем из массива первую картинку и загружаем
    4. ждем когда она загрузится и загружаем следующую

    до шага 3 все просто, но вот 4й шаг для меня сложноват
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    ИМХО ерунда это все, я не понял сути, ради чего это все?
    1) Загрузка такая же, если внимательней посмотрите, так он еще и загружался дальше всех. Полифил вешать, еще кода больше.
    2) Нельзя скопировать картинку? Ну для меня это только плюс.

    а про div, там говорится, что можно ему role и aria-label задать, будет почти тоже самое, наверное..

    PS. Мы уже давно ушли от сути вопроса :)
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    Инлайн не прокатит, так как картинок много и они постоянно меняются.

    Статью посмотрел, к сожалению не совсем понял.
    Пишу код:
    <div id="preload1"></div>
    <div id="preload2"></div>
    <div id="preload3"></div>
    
    <script>
    function preloader() {
    	if (document.getElementById) {
    		document.getElementById("preload1").style.background = "url(1.jpg) no-repeat -9999px -9999px";
    		document.getElementById("preload2").style.background = "url(2.jpg) no-repeat -9999px -9999px";
    		document.getElementById("preload3").style.background = "url(3.jpg) no-repeat -9999px -9999px";
    	}
    }
    
    function addLoadEvent(func) {
    	var oldonload = window.onload;
    
    	if (typeof window.onload != 'function') {
    		window.onload = func;
    
    	} else {
    		window.onload = function() {
    			if (oldonload) {
    				oldonload();
    			}
    			func();
    		}
    	}
    
    }
    addLoadEvent(preloader);


    Смотрю инспектором, а они загружаются все разом.

    Да и смысл от их загрузки, если я не знаю когда они загрузятся.
    Если читать заголовок статьи, то он звучит примерно как: "Способы предварительной загрузки", ну и содержимое по аналогии, смотрят что документ загрузился и похали загружать в кеш все что не попадя.
    Мой же вопрос немного другой, ну или не совсем понял посыл статьи как это сделать.
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    Спасибо. А не сложно написать без jQuery, а то я его не использую. Также уж реально с заменой тогда маленькой картинки на большую :)
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    1) object-fit даже для IE11 не прокатит
    2) со сжатием у меня все в порядке
    3) пока что "до загрузка" нужна только для теста, и оставьте мне право самому решить, а надо ли оно :)

    PS. Вот к примеру слайдер swiper проверил с lazy images, где Вы помогли мне найти, что я </div> пропустил. Так вот он что-то мне не зашел совсем, ищу альтернативы так сказать, накидал скрипт для ленивой подгрузки картинок, чтобы посмотреть и решить, а стоит ли. Так же планирую уменьшить размер картинок с помощью media, но это на будущее.
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    Вопрос-то был не про это.
  • Как незаметно подменить background-image?

    Tolly
    @Tolly Автор вопроса
    Еле нашел, где он там не лестно отзывается о div.background, предлагая воспользоваться чудо svg. Приму на вооружение этот svg формат. Но больше ничего интересного не узнал, все остальное совсем примитивно.
    Ответ на свой вопрос тоже не нашел.

    PS. Также услышал фразу, что у картинок приоритет выше, чем у div. Типа они загружается быстрее, так как приоритет выше.
    Два вопроса:
    1) Приоритет выше чем у js и css? а оно надо вообще?
    2) И кто-то проверил, что грузится быстрее? Это типа браузер больше делает запросов на сервер? Проверил, а нет! Все тоже самое и на скорость это абсолютно не влияет не доли мс, только что сам проверил.

    Короче, не знаю про div и img, можно конечно через svg заморочится...

    Мне вот к примеру нравится сайт tass.ru, там не прям все огонь, но в целом не плохо сделано. Картинки хоть и не масштабируются, но через фон сделаны. У меня же полностью резиновый сайт, так что такую роскошь позволить не могу.
  • Зачем слайдеру Swiper задавать ширину 1px для класса swiper-wrapper?

    Tolly
    @Tolly Автор вопроса
    По первому утверждению не соглашусь:
    5befadcb8ec92579569343.png

    По второму утверждению, мои слова верны, но не понимаю почему codepen не корректно отобразил, кстати в IE11 такой проблемы нет. В codepеn возможно как раз внешний файл перебивает, стиль который расположен в соседнем окне. Это не утверждение, а предположение.

    Проверить же код можно скопировав его и сохранив в файлы, ну и запустить в хроме (в других не проверял):
    index.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.2.2/css/swiper.min.css">
    	<link rel="stylesheet" href="style.css">
    </head>
    <body>
    
    	<div class="flex">
    		<main>
    			<div class="slider">
    				<!-- Swiper -->
    			  <div class="swiper-container">
    			   	<div class="swiper-wrapper">
    
    						<!-- Slide 1 -->
    			     	<div class="swiper-slide">
    							<div class="flex">
    								<div class="slider_image" style="background-image: url('https://picsum.photos/600/800/?gravity1');">
    								</div> <!-- /slider_image -->
    								<div>
    									<h1>Lorem ipsum dolor sit amet.</h1>
    									<p>Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни силуэт, даль гор которой назад которое диких, деревни текст?.</p>
    								</div>
    							</div> <!-- /flex -->
    			     	</div> <!-- /swiper-slider -->
    
    						<!-- Slide 2 -->
    			     	<div class="swiper-slide">
    							<div class="flex">
    								<div class="slider_image" style="background-image: url('https://picsum.photos/600/800/?gravity2');">
    								</div> <!-- /slider_image -->
    								<div>
    									<h1>Lorem ipsum dolor sit amet.</h1>
    									<p>Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Жизни силуэт, даль гор которой назад которое диких, деревни текст?.</p>
    								</div>
    							</div> <!-- /flex -->
    			     	</div> <!-- /swiper-slider -->
    
    				  </div> <!-- /swiper-wrapper -->
    				</div> <!-- /swiper-container -->
    			</div> <!-- /slider -->
    		</main>
    		<aside>
    			Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Буквенных, жизни выйти пунктуация? Города подпоясал знаках даже жизни, живет переулка деревни образ коварных, решила всеми, встретил до заманивший, необходимыми даль предупреждал жаренные. Раз над грустный толку, единственное решила страна его запятых выйти но маленькая текст она последний свой курсивных обеспечивает всемогущая необходимыми, на берегу даль лучше диких рыбного своего вершину прямо! Инициал своих прямо, за запятой до. Семантика образ лучше великий снова речью, переписывается текст, взгляд подпоясал, что залетают инициал вопрос страна?
    		</aside>
    	</div>
    
    
    	<!-- Swiper JS -->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.4.2/js/swiper.min.js"></script>
    
      <!-- Initialize Swiper -->
      <script>
        var swiper = new Swiper('.swiper-container', {
        });
      </script>
    </body>
    </html>
    style.css
    html, body {padding: 0; margin: 0;}
    .flex {	display: flex; }
    main {	width: 100%; }
    aside {	width: 350px;	background-color: #5f9; }
    
    /*.swiper-wrapper {	width: 1px; }*/
    
    .slider {	background-color: #eee;	padding: 10px; }
    
    .slider_image {
    	margin-right: 20px;
    	flex-shrink: 0;
    	width: 40%;
    	min-height: 280px;
    	background: no-repeat center center;
    	background-size: cover; }
    
    .slider h1 { font-size: 23px; }
    .slider p {	font-size: 18px; }


    Вот в хроме вижу, соответственно "без" и "с" width 1px
    5befb1e03cb6c250047535.png5befb1f4b686d551936349.png
  • Почему IE11 при flex не правильно определяет отступы между блоками, если один из блоков position: absolute?

    Tolly
    @Tolly Автор вопроса
    Да, для этого примера, это работает!
    Но если развить тему чуть дальше, например выравнивание не space-between, а space-around, то по аналогии:

    .wrapper div:not(:first-child) {
      margin-left: auto;
    }
    .wrapper div:not(:last-child) {
      margin-right: auto;
    }


    уже не работает, а если использовать flex-wrap: wrap, то совсем все печально.

    В IE11 совсем все так плохо с flex? Если смысл от него отказаться в новом проекте, чтобы не выдумывать такие костыли?
  • Как поднять один из блоков (flex)?

    Tolly
    @Tolly Автор вопроса
    Я уже догадался, я не заметил прокладку между flex и этими двумя блоками, спс.