Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Скайдом - пожалуй, самая красочная и интересная головоломка с действительно уникальными режимами игры!

Скайдом

Три в ряд, Головоломки, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

CSS + HTML

С этим тегом используют

Программирование Верстка Javascript IT Web Frontend Сайт Все
393 поста сначала свежее
184
KuruMapuru
KuruMapuru
2 года назад
Web-технологии

Ответ на пост «CSS и авторские права»⁠⁠1

Кому интересно - вот код на jQuery, который вставляет мягкие переносы в русские слова и позволяет тексту, выключенному по ширине, быть более плотным и визуально приятным, особенно при малой ширине блока. Легко перепиливается на чистый JS:


$.fn.hyphenate = function() {
var RusA = "[абвгдеёжзийклмнопрстуфхцчшщъыьэюя]";
var RusV = "[аеёиоуыэю\я]";
var RusN = "[бвгджзклмнпрстфхцчшщ]";
var RusX = "[йъь]";
//var Hyphen = "\xAD";
var Hyphen = "­";
var re1 = new RegExp("("+RusX+")("+RusA+RusA+")","ig");
var re2 = new RegExp("("+RusV+")("+RusV+RusA+")","ig");
var re3 = new RegExp("("+RusV+RusN+")("+RusN+RusV+")","ig");
var re4 = new RegExp("("+RusN+RusV+")("+RusN+RusV+")","ig");
var re5 = new RegExp("("+RusV+RusN+")("+RusN+RusN+RusV+")","ig");
var re6 = new RegExp("("+RusV+RusN+RusN+")("+RusN+RusN+RusV+")","ig");
//console.log(this);
this.each(function(){
var text=$(this).html();
text = text.replace(re1, "$1"+Hyphen+"$2");
text = text.replace(re2, "$1"+Hyphen+"$2");
text = text.replace(re3, "$1"+Hyphen+"$2");
text = text.replace(re4, "$1"+Hyphen+"$2");
text = text.replace(re5, "$1"+Hyphen+"$2");
text = text.replace(re6, "$1"+Hyphen+"$2");
$(this).html(text);
});
};
Показать полностью
CSS Javascript Jquery Перенос HTML Ответ на пост Текст
18
3
andrmm
2 года назад
Тупой вопрос

HTML5 и CSS3⁠⁠

Стоит изучить HTML и CSS до изучения HTML5 и CSS3 или можно сразу приступать? Будут ли сложности при изучении HTML5 и CSS3, если до этого не изучил HTML и CSS?

[моё] HTML CSS Html 5 Css3 Скрипт Вопрос Текст
15
DELETED
2 года назад
Серия Поддержка, удалите эти посты пожалуйста

Пишем элемент для сайта с появлением другого элемента при наведении на чистом CSS без использования JS⁠⁠

Всем пикабушникам и пикабушницам big hi!


Если вы начиннающ(ий,ая) разработчи(к,ца) сайтов, то это вам может пригодиться)

Нужно стараться использовать как меньше JS, чтобы все четко работало на старых устройствах, потому что мой телефон лично встроенный браузер не поддерживает JS. Не всегда можно избежать JS, но в данном случае можно.


И так-а, начинаем...


1. Создаем файл на ПК и называем его (index.html) - можно пользоваться обычным Виндоус блокнотом.


2. Наполняем его самыми базовыми тегами, чтобы небыло никаких акуна-мататных иероглфиов:

<!doctype html>
<html lang="ru">
<head>
<title>название страницы</title>
<meta charset="utf-8"/>
</head>
<body>
<!---- контент ---->
</body>
</html>
<style>
*{margin:0;padding:0;}
</style>

Далее убираем <!---- контент ----> и заменяем его на ето:

<div class="akuna">
<p>Текст 1</p>
</div>
<div class="matata">
<p>Текст 2, появляющийся при наведении (работает на мобильных корректно тоже)</p>
</div>
<style>
*{margin:0;padding:0;color:#000;text-align:center;font-size:32px;}
.akuna{width:cover;padding:+8px;display:block;background:#ccc;}
.matata{width:cover;padding:+8px;display:none;margin-top:+0/-0/0 cover!important;background:#eee;}
.akuna:hover ~ .matata{display:block;width:!important cover;padding:!important cover;}
</style>

В итоге получаем такой код:

<!doctype html>
<html lang="ru"> 
<head>
<title>название страницы</title>
<meta charset="utf-8"/>
</head>
<body>
<div class="akuna">
<p>Текст 1</p>
</div>
<div class="matata">
<p>Текст 2, появляющийся лишь при наведении</p>
</div>
</body>
</html>
<style>*{margin:0;padding:0;color:#000;text-align:center;font-size:32px;}
.akuna{width:cover;padding:+8px;display:block;background:#ccc;}
.matata{width:cover;padding:+8px;display:none;margin-top:+0/-0/0 cover!important;background:#eee;}
.akuna:hover ~ .matata{display:block;width:!important cover;padding:!important cover;}
</style>

Коротко, без JS и работает на мобилках)

Вот скриншоты получившегося (показано отображение при навдении курсора):

Пишем элемент для сайта с появлением другого элемента при наведении на чистом CSS без использования JS Windows, Сайт, Создание сайта, Помощь, CSS, Javascript, HTML, Java, Компьютерная помощь, Урок, Длиннопост, Эффект
Пишем элемент для сайта с появлением другого элемента при наведении на чистом CSS без использования JS Windows, Сайт, Создание сайта, Помощь, CSS, Javascript, HTML, Java, Компьютерная помощь, Урок, Длиннопост, Эффект
Показать полностью 2
[моё] Windows Сайт Создание сайта Помощь CSS Javascript HTML Java Компьютерная помощь Урок Длиннопост Эффект
9
13
Web.Study
Web.Study
2 года назад
Лига программистов

Как использовать математические функции CSS⁠⁠

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Перевод статьи: How to Use CSS Math Functions: calc, min, max, clamp
Автор: Alex Ivanovs

Примечание: примеры кода лучше всего просматривать на codepen. Приятного чтения!

Логические функции CSS calc(), clamp(), min() и max() поддерживаются всеми современными веб-браузерами. Но, несмотря на то, что они легко доступны, простой поиск на GitHub говорит нам о том, что внедрение этих функций идет медленно. Давайте выясним.

Я знаю, что вы могли подумать: "Математика?! Фу, с глаз моих долой". Но спросите себя — хватит ли у вас силы воли противиться удовлетворению от идеально выровненных вложенных друг в друга контейнеров?

Знаете, после того, как я написал статью о различных хитростях CSS (она была подобрана несколькими публикациями), я увидел, что на сайт приходит трафик по таким ключевым словам, как «как центрировать элемент div», что забавно, потому что я никогда не упоминал об этом в статье конкретно. Но это показывает, что разработчикам нужен доступ к быстрым фрагментам кода, которые можно легко реализовать повторно.

Таким образом, это будет предпосылкой для этого урока.

Update: Мне удалось написать подробное руководство по центрированию элементов в CSS.

Я сосредоточусь на теме математических функций CSS в контексте достижения различных результатов компоновки. Например, Как создать адаптивный контейнер с помощью нескольких строк CSS, как добавить адаптивный padding и как заставить сайдбар вести себя как сайдбар.

Давайте взглянем.

calc()

Функция calc() поддерживает четыре арифметические операции: сложение (+), вычитание (-), умножение (*) и деление (/). Эта функция в основном используется для расчета динамической ширины и высоты контейнера для создания адаптивного layout.


Пример кода:

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

И вот такой результат:

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Но calc() больше всего выделяется, когда он используется для упорядочивания элементов с учетом определенного значения. Как правило, адаптивный дизайн достигается путем поиска конкретных точек и последующего индивидуального написания их логики. С calc() — мы можем добиться адаптивного layout только с одной спецификацией, что делает его намного более удобным.

Давайте рассмотрим конкретный пример использования display: flex;. Наша цель — создать рядом 3 элемента, зависящих от ширины контейнера (100%). Мы также хотим добавить отступ в 30 пикселей между каждым элементом, и, конечно же, нам необходимо, чтобы они были отзывчивыми!

Пример кода:

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Перейдите на сайт оригинальной статьи (ссылка в начале статьи через "How to Use CSS Math Functions: calc, min, max, clamp") или на codepen (ссылка через "пример кода"), и там вы сможете изменить размер экрана, чтобы увидеть, как это работает.

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Поскольку мы хотим иметь отступ в 30px между каждым элементом, мы вычитаем 90 пикселей из ширины контейнера (100%) и делим его на 3, чтобы указать, сколько элементов у нас есть.

Когда вы измените размер приведенного выше результата, вы заметите, что все элементы соблюдают соответствующий отступ, оставаясь при этом чувствительными к ширине контейнера. Неплохо.

min()


Функция min() используется для установки наименьшего допустимого значения. Она принимает два разных значения, разделенных запятой, и поддерживает арифметические выражения.

Допустим, вы указали font-size: min(25px,1vw); — в этом примере font-size никогда не будет больше 25 пикселей и будет уменьшаться до 1vw в зависимости от размера viewport.

Мы также можем использовать min() для управления шириной элементов контейнера.

Пример кода:

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Перейдите на сайт оригинальной статьи (ссылка в начале статьи через "How to Use CSS Math Functions: calc, min, max, clamp") или на codepen (ссылка через "пример кода"), попробуйте изменить размер экрана.

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

В этом контексте div элемент внутри нашего контейнера не может превышать 800 пикселей в ширину, несмотря на то, что контейнер имеет максимальную ширину 1000 пикселей.

max()


Функция max() позволяет нам сделать прямо противоположное. Из двух значений, которые мы указываем внутри max() — большее из них будет иметь приоритет.


Пример кода:

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Перейдите на сайт оригинальной статьи (ссылка в начале статьи через "How to Use CSS Math Functions: calc, min, max, clamp") или на codepen (ссылка через "пример кода"), попробуйте изменить размер экрана  на меньший, чтобы посмотреть, что произойдет.

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Как видите, контейнер соблюдает width: 100%;, но не опускается ниже указанной отметки 200 пикселей, так как это самое большое значение для контейнера.

Функция max() особенно полезна при применении адаптивных margins. Как правило, когда вы используете множество мелких элементов в макете, они загромождают экран после изменения размера. С помощью max() мы можем установить приоритет для определенного margin, чтобы учесть ширину контейнера.


Пример кода:

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Перейдите на сайт оригинальной статьи (ссылка в начале статьи через "How to Use CSS Math Functions: calc, min, max, clamp") или на codepen (ссылка через "пример кода"), попробуйте изменить размер экрана на меньший, чтобы посмотреть на это в действий.

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Как видите, несмотря на изменение ширины viewport, кнопки всегда сохраняют свои поля в 4 пикселя.

clamp()


Функция clamp() используется для определения допустимого диапазона различных значений элемента макета: minimum, preferred и maximum. Чаще всего clamp() используется для установки диапазона допустимых значений в типографике, чтобы создать эффект fluid typography.

По сути, это кульминация функций min() и max().

Например:


font-size: clamp(1rem, 4vw + 1rem, 4rem);

И вот как это выглядит:

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

В этом контексте, мы стилизуем наш заголовок h2 с минимальным значением 1rem, максимальным 4rem и устанавливаем предпочтительный размер 4vw (единицы viewport) + 1rem. Как вы уже заметили, из приведенного выше демо, по мере изменения области просмотра изменяется и размер шрифта заголовка.

На этом мы заканчиваем знакомство с наиболее широко поддерживаемыми математическими функциями в CSS.

Следующий раздел полностью посвящен примерам и различным вариантам использования этих функций. В целом, мы сосредоточены на создании адаптивных элементов дизайна, которые в противном случае пришлось бы писать с помощью медиа-запросов.

Создание адаптивного sidebar с помощью Grid


Можете ли вы реализовать полнофункциональный адаптивный sidebar всего двумя строками CSS? Конечно.


Для этого демо мы создадим адаптивный sidebar, используя display: grid; и настроим отзывчивость с помощью grid-template-columns. В частности, мы будем использовать функции fit-content и minmax() для установки наших ограничений.


Пример кода:

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Перейдите на сайт оригинальной статьи (ссылка в начале статьи через "How to Use CSS Math Functions: calc, min, max, clamp") или на codepen (ссылка через "пример кода"), попробуйте изменить размер экрана, чтобы посмотреть, что произойдет.

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Давайте разберемся, что здесь происходит.


Сначала, мы применяем fit-content, чтобы объявить предпочтительный размер нашего sidebar. Значение, которое мы указываем здесь, будет либо увеличивать боковую панель (в зависимости от размера viewport), либо уменьшать ее на небольших экранах. Все время учитывая количество контента, которое у вас есть на боковой панели.


После этого мы применяем minmax(), потому что мы не хотим, чтобы боковая панель перекрывалась областью контента на странице. В нашем случае для параметра установлено значение 55vw, которое будет использоваться для мобильного дисплея, и 35ch, которое будет использоваться для больших viewports. И, наконец, мы применяем the Grid-specific fraction unit, чтобы заполнить пространство, когда это позволяет viewport.

Применение адаптивного Gap для Flexbox Layouts


Это аналогичный пример адаптивного padding, который мы рассматривали ранее. Но для этого демо мы используем flexbox и свойство gap вместе с clamp().


Пример кода:

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Перейдите на сайт оригинальной статьи (ссылка в начале статьи через "How to Use CSS Math Functions: calc, min, max, clamp") или на codepen (ссылка через "пример кода"), попробуйте поиграть с размером.

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Указав gap: clamp(5px, 1vw, 25px); мы говорим браузеру адаптировать gap между каждой колонкой в зависимости от размера viewport. Итак, если размер окна превышает 1vw — gap увеличивается до 25 пикселей, тогда как маленький viewport уменьшит его до 5 пикселей (например, на мобильных устройствах).


Кстати, вы могли заметить, что я использовал интересное свойство для центрирования блоков, это place-content: center;. Это сокращенное свойство, которое поддерживает позиционирование содержимого в различных направлениях. Подробнее об этом можно прочитать на MDN.

Can I Use: Поддержка тут как тут


Если мы посмотрим на данные Can I Use для математических функций — поддержка явно есть. IE их не поддерживает, но мы также знаем, что IE прекращает работу. В июне 2022 года, если быть точным.

Как использовать математические функции CSS CSS, Frontend, IT, Программирование, HTML, Гифка, Длиннопост

Использование математических функции CSS с переменными


Итак, одна из вещей, которая не была затронута в этом руководстве, — это использование переменных CSS вместе с различными функциями. Мои рассуждения довольно просты, это практическое введение в использование математических функций для адаптивного дизайна.


Я не следую style guide и не работаю над фреймворком.


Но вполне возможно использовать объявления переменных для достижения еще больших результатов, особенно для сложных структур layout.

Заключение


Были бы вы рады попробовать некоторые из этих концепций в своем следующем проекте?


Я должен сказать, что CSS прошел долгий путь с начала 2010-х годов. На самом деле, если мы сможем делать большую часть наших адаптивных стилей без медиа-запросов, это привлечет еще больше разработчиков, которые хотят писать код и не беспокоиться о совместимости между различными устройствами.

Спасибо за прочтение этой статьи!

Наш телеграм https://t.me/havaevau_webstudy

Показать полностью 16
CSS Frontend IT Программирование HTML Гифка Длиннопост
5
18
Web.Study
Web.Study
2 года назад
Лига программистов

Прелоадер - важный элемент в веб-разработке. 5 примеров, которые сделает даже новичок⁠⁠

Прелоадер - важный элемент в веб-разработке. 5 примеров, которые сделает даже новичок Программирование, IT, CSS, Веб-разработка, Frontend, HTML, Гифка, Длиннопост

Какая его роль?


Прелоадер — это небольшая анимация, которую человек видит когда заходит на веб-страницу, другими словами — это индикатор загрузки.


Это значимый элемент в веб-разработке с точки зрения юзерфрендли. Если человек заходит на "тяжёлый сайт", напичканный скриптами, файлами и т.п., ему нужно сказать что "всё норм, сайт загружается, подожди".


Сказать это красиво помогут прелоадеры. Вот несколько примеров, которые сможет реализовать даже начинающий.



1. Лесенка загрузки

Исходный код на Codepen - https://codepen.io/ispal/pen/mVaaJe

Прелоадер - важный элемент в веб-разработке. 5 примеров, которые сделает даже новичок Программирование, IT, CSS, Веб-разработка, Frontend, HTML, Гифка, Длиннопост

2. Прелоадер на CSS с использованием sass map для определения цвета

Исходный код на Codepen - https://codepen.io/hexagoncircle/pen/eZawWv

Прелоадер - важный элемент в веб-разработке. 5 примеров, которые сделает даже новичок Программирование, IT, CSS, Веб-разработка, Frontend, HTML, Гифка, Длиннопост

3. А как вам такое?

Исходный код на Codepen - https://codepen.io/derekmorash/pen/grvOZx

Прелоадер - важный элемент в веб-разработке. 5 примеров, которые сделает даже новичок Программирование, IT, CSS, Веб-разработка, Frontend, HTML, Гифка, Длиннопост

4. Этот прелоадер был сделан для веб-приложения из сферы здравоохранения

Исходный код на Codepen - https://codepen.io/chrissamuels/pen/WNybqm

Прелоадер - важный элемент в веб-разработке. 5 примеров, которые сделает даже новичок Программирование, IT, CSS, Веб-разработка, Frontend, HTML, Гифка, Длиннопост

5. Сразу несколько прелоадеров, сделанных с помощью SVG анимации

Исходный код на Codepen - https://codepen.io/nikhil8krishnan/pen/rVoXJa

Прелоадер - важный элемент в веб-разработке. 5 примеров, которые сделает даже новичок Программирование, IT, CSS, Веб-разработка, Frontend, HTML, Гифка, Длиннопост

Телеграм - https://t.me/havaevau_webstudy

Показать полностью 5
[моё] Программирование IT CSS Веб-разработка Frontend HTML Гифка Длиннопост
8
prossec
prossec
2 года назад

Очередной программист. День #0⁠⁠

Дисклеймер.

Да, да, да бла-бла-бла, очередной программист, вас уже как говна за баней (кстати, вопрос к мирозданию, я никогда не видел за баней говна, кто-то видел?), стать программистом невозможно, конкуренция бешенная, никому вы не нужны, работу не найдешь, на джуна требований выше крыши, нужно образование и т.п и etc.


Привет Пикабу!

Этим постом я хочу обозначить начало своего длинного и сложного пути в мир IT. так будет проще мне, это будет дополнительная мотивация для меня, и в процессе обучения я буду писать о своих впечатлениях, выводах и разочарованиях, которые, скорее всего, станут полезны тем, кто решит идти по этому пути самостоятельно.

Коротко о себе: мне 29 лет, высшее гуманитарное образование, служу старшим бортпроводником в одной из крупнейших авиакомпаний страны, имею прекрасный английский, базовый французский и польский. В школе на информатике писал код на Pascal, а точнее рисовал на нём, было забавно. Плачу ипотека и имею жена :)


Зачем я хочу в айти?

Я в своей профессии 6 лет и дорос до максимума, уйти выше не принесет денег, морального удовлетворения, удовольствия, т.к. всё скатится в унылую рутину. Облетел почти весь мир, был очень много где, узнал много чудесных людей.

Я хочу стать модным словом, а именно "гражданином мира". Иметь профессию, которая востребована по всему земному шару, работать на фирму зарегистрированную в США/ЕС/РФ и т.д., а жить в это время во Вьетнаме или ещё хоть где, и да я прекрасно понимаю, что до такого уровня расти долго. Но главное, что эта перспектива ЕСТЬ. Возможность оперативных релокаций в реалиях сурово-быстро изменяющегося мира, это суперспособность!


Что я умею?

Ничего Читать, писать, говорить на английском языке, разбираюсь в железной части ПК. Умею быть сфокусированным, целеустремленным.


Чем я хочу заниматься?

А вот это вопрос номер один.

Я усердно гуглил, смотрел ютубы, читал статьи про ЯП, что это такое, что с ними делают, где они нужны, кто из них умер/умирает/умрет. И я смог успешно выбрать 3 языка программирования. разумеется, сразу 3 осилить с нуля невозможно, ненужно, не получится, поэтому я буду определяться. Как сказал один из крутых разработчиков со стажем >20 лет, берите язык, занимайтесь им 10-14 дней по 3-4 часа ежедневно и вывод напросится сам собой. Мне эта идея отсева очень понравилась, потому что:

а. Я смогу руками потрогать все языки, писать код.

б. Я буду опираться исключительно на своём мнении об этом ЯП.

в. Начиная с нуля, любые знания по ЯП, включая логику написания кода будут полезны для формирования общего кейса знаний.


Из чего выбираем то?


1. JS

Очередной программист. День #0 Обучение, Программирование, Учеба, Разное, Java, Javascript, C++, IT, HTML, CSS, Длиннопост

Что хочет нуб? Правильно, писать код, чтобы сразу были видны результаты того, что пишешь. Фронтенд был первой вещью, которая меня заинтересовала в IT. Это красиво, интересно, есть спрос. По информации с stack overflow JS ЯП №1 для релокации в другие страны. Конечно, понимаю о обязательном параллельном изучении HTML, CSS, React, TS и дохрена чего еще.

Как буду учить:

learn.javascript.ru, книга Кантора по JS (та же инфа с learn.javascript, но упорядоченная), книга Чиннатхамби, видеоуроки Богдана Стащюка с udemy.


2. Java

Очередной программист. День #0 Обучение, Программирование, Учеба, Разное, Java, Javascript, C++, IT, HTML, CSS, Длиннопост

Один из лидеров по вакансиям, зарплатам, востребованности. Финансовые системы, БД и многое другое написаны на Java. Замены ей, вероятно, никогда не будет ибо зачем трогать и менять то, что чудесно работает.

Как буду учить:

Java для начинающих: с нуля до сертификата Oracle курс Заура Трегулова с udemy, javarush.


3. C++

Очередной программист. День #0 Обучение, Программирование, Учеба, Разное, Java, Javascript, C++, IT, HTML, CSS, Длиннопост

Что? Вы сказали игры?

ябудуустанавливатьвсевсеигры

Последний избранник С++. Говорят крутой язык для задротов. Говорят игры пишут на С++, unreal engine с нами в команде. Язык интересный, сложный, мозги точно будут кипеть, геймдев это круто и хотелось бы там очутиться. хотя писать игры не так интересно, как в них играть. Ну и кроме геймдева С++ входит в топ востребованных языков программирования.

Как буду учить: #simplecode youtube, Доусон Изучаем С++ через программирование игр.


Finnally

Я поставил трекер себе на телефон и буду заниматься каждым из ЯП 40 часов (~4 часа в день ~10 дней на язык). Ровно за 40 часов я должен буду сделать вывод с чем я пойду дальше и буду интенсивно учить, а что отложу на потом/забуду нахрен как страшный сон.

Обещаю, что буду публиковать отчеты на Пикабу минимум раз в неделю, жду от вас, дорогие мои, поддержки, полезных советов, слов наставлений, интересных ресурсов для изучения, флуда( разумеется, как без него).

P.S.

Да, программисты нахер никому не нужны, чё вы лезете все сюда. #мамаятожевайти

Идея и пост мои, учиться буду я, тег моё.

Показать полностью 3
[моё] Обучение Программирование Учеба Разное Java Javascript C++ IT HTML CSS Длиннопост
40
Аноним
Аноним
2 года назад
Лига программистов

С чего начать изучать веб разработку? Лучшие ресурсы для изучения!⁠⁠

[моё] IT Программирование Курсы программирования Разработка YouTube Программист Web-программирование Javascript CSS Основы HTML HTML Видео
8
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
8
shaitan.vladimir
shaitan.vladimir
2 года назад
Web-технологии

Поток документа | Flexbox | Float | inline-block в CSS⁠⁠

Привет, в этом уроке мы разберемся в том что такое нормальный поток документа, научимся его изменять с помощью CSS свойств, разберемся с тем как работать с inline-block, float и flexbox свойствами. Текстовая версия урок в полной версии статьи.

Поток документа

Поток документа - определяет то каким способом элементы будут располагаться на странице.

Normal flow - базовый поток описывает то как элементы располагаются на странице, когда к ним не применили ни одного CSS свойства.

Для того чтобы чтобы управлять потоком нашего документа с помощью CSS нам в первую очередь нужно выстроить правильный базовый поток документа в нашем HTML.

inline и inline-block

Задача: Необходимо выставить элементы .item друг возле друга по 2 в ряд.


Решение: Для начала выставим ширину элемента 50% и добавим inline-block чтобы они могли выстраиваться друг возле друга.

HTML File - link

.item {
width: 50%;
display: inline-block;
}

Проблема: Ширина наших элементов изменилась, но сами элементы не выстроились друг возле друга. Это происходит из-за того что браузер интерпретирует элементы .item как строчно-блочные, а значит учитывает пробельные символы которые мы ставим внутри нашего HTML документа и также отображает их на странице. Для того чтобы решить это проблему нам необходимо убрать эти пробельные символы которые находятся между нашими блоками .item . Для этого нам достаточно найти родителя блоков .item, а это блок .wrapper и выставить ему font-size: 0.

.wrapper {
font-size: 0;
}

Пробельный символ, это символ аналогичный любой букве, а это значит, что если мы выставим размер шрифта в 0 то он исчезнет и не будет занимать места, как и все остальные символы внутри этого блока.

Сейчас мы видим что элементы на странице выстроились друг возле друга, как мы и задумывали, но текст не отображается, это происходит из-за того что мы поставили размер шрифта для всего текста в блоке 0px. Для того чтобы вернуть текст внутри блоков .item на свое место, нам необходимо задать размер шрифта отдельно для них.

.item {
font-size: 16px;
}

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

Float

Задача: Необходимо выставить элементы .item друг возле друга по 4 в ряд.

Решение: Для начала выставим ширину элемента 50% и добавим float: left чтобы элементы .item могли обтекать друг друга с левой стороны.

HTML File - link

.item {
width: 25%;
float: left;
}

Видим что такой способ достаточно хорош и все сразу стало как нам было нужно. Но есть проблема, если мы проинспектируем родительский элемент (.wrapper) наших .item блоков, то сразу увидим нечто странное, а именно то что высота этого элемента равна 0, как будто в нем нет никаких дочерних элементов, хотя они есть.

Для того чтобы решить эту проблему нам нужно растянуть .wrapper чтобы он занимал именно столько высоты сколько нужно.

Обычно для этого используются псевдо-элементы, он них мы будем говорить позднее, но используем их для того чтобы решить нашу проблему.

Вкратце, псевдо-элемент, это такой элемент который создается не через HTML, но через CSS, а браузер интерпретирует его как часть структуры сайта.

.wrapper:after {
content: '';
display: block;
clear: both;
}

Теперь все отображается правильно, вся суть в том что мы создаем еще один, полностью пустой, элемент и отменяем для него float , с помощью свойства clear: both. После чего этот, пустой, элемент располагается в самом конце нашего блока .wrapper и тем самым растягивает его высоту, и делает ее правильной.

Такое использование будет не слишком удобным, если у нам будет много элементов позиционированных через float, в таком случае на проще сделать отдельный класс который будет добавлять такие стили нужным для нас элементам. Обычно такой класс называется .clearfix.

.clearfix:after {
content: '';
display: block;
clear: both;
}

И добавим его для нашего блока wrapper, единственное что нам нужно делать, это добавлять класс .clearfix, для родительских элементов дети которых позиционированы с помощью свойств float.

Этот способ активно использовался раньше, но уже не так актуален и практически не используется в данный момент, но такой подход все еще можно встретить в реально жизни.

Flexbox

Задача: Необходимо выставить элементы .item друг возле друга по 2 в ряд.

Решение: Для начала выставим ширину элемента 50% и добавим display: flex чтобы элементы .item могли выстраиваться друг возле друга

HTML File - link

В таком случае flex прописываем для родительского элемента.

.wrapper {
display: flex;
}
.item {
width: 50%;
}

У нас появилась проблема, а именно то что сейчас все элементы встроены в ряд, это происходит по причине того что flex сам, автоматически пересчитывает ширину игнорируя заданную нами ширину для элементов. Для того чтобы это исправить, нам необходимо добавить свойство flex-wrap: wrap для родительского элемента .wrapper .

.wrapper {
flex-wrap: wrap;
}

Теперь мы сами можем контролировать контролировать ширину наших внутренних элементов через CSS, но не забывайте, что если вам подходит стандартное поведение flex и его автоматическая работа с шириной, то можете игнорировать flex-wrap: wrap

Другие возможности

Для того чтобы удобно работать с элементами у flex есть ряд других свойств которые помогают удобно позиционировать элементы.

Для наглядности изменю ширину элементов .item

.item {
width: 18%;
}

Свойство justify-content помогает нам позиционировать элементы по горизонтали Все его значение рассмотрим на странице в видео уроке.

.wrapper {
justify-content: space-evenly;
}

Свойство align-items помогает нам позиционировать элементы по вертикали, для наглядности я увеличу высоту блока .wrapper .

Все его значение рассмотрим на странице в видео уроке.

.wrapper {
border-top: 3px solid black;
border-bottom: 3px solid black;
background-color: #ccc;
height: 600px;
/* flex свойство */
align-items: center;
}

flex-direction

Свойство flex-direction определяет в каком направлении будут отображаться элементы. По умолчанию flex-direction равно значению row, в зависимости от направления отображения у нас будет изменяться и работа свойств justify-content и align-items

Для flex-direction: row и row-reverse:


justify-content - будет позиционировать по горизонтали

align-items - будет позиционировать по вертикали

Для flex-direction: column и column-reverse:


justify-content - будет позиционировать по вертикали

align-items - будет позиционировать по горизонтали

Все его значение рассмотрим на странице в видео уроке.

.wrapper {
height: initial;
/* flex свойство */
flex-direction: row;
}

Свойство order - позволяет нам, вручную, определять в котором будут отображаться элементы. Свойство order должно задаваться внутренним элементам, вложенным в .wrapper, а значит тем которые являются детьми первого уровня элемента у которой присутствует свойство display: flex.

В нашем случае это элементы .item так как они является детьми .wrapper у которого и прописано свойство display: flex.

.item:nth-child(1) {
order: 4
}
.item:nth-child(2) {
order: 1
}
.item:nth-child(3) {
order: 2
}
.item:nth-child(4) {
order: 3
}

Также существует еще больше flex-свойств, которые используются не так часто, о них можно почитать в документации.

Все файлы с урока

P.S. Подпишись на мой youtube и telegram канал чтобы регулярно получать новый контент.

Показать полностью
[моё] Разработка Программирование Программист Баг IT Собеседование HTML CSS Frontend Видео YouTube Длиннопост
18
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии