<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Кирилл Беляев: заметки с тегом ХТМЛ</title>
<link>https://kirillbelyaev.com/ru/blog/?go=tags/html/</link>
<description>о подаче информации, айдентике, интерфейсах и жизненной среде</description>
<author>Кирилл Беляев</author>
<language>ru</language>
<generator>E2 (v3572; Aegea)</generator>

<itunes:owner>
<itunes:name>Кирилл Беляев</itunes:name>
<itunes:email></itunes:email>
</itunes:owner>
<itunes:subtitle>о подаче информации, айдентике, интерфейсах и жизненной среде</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Превью ссылок в соцсетях</title>
<guid isPermaLink="false">754</guid>
<link>https://kirillbelyaev.com/ru/blog/?go=all/link-previews-for-social-media/</link>
<pubDate>Sat, 27 Mar 2021 19:41:57 +0300</pubDate>
<author>Кирилл Беляев</author>
<comments>https://kirillbelyaev.com/ru/blog/?go=all/link-previews-for-social-media/</comments>
<description>
&lt;p&gt;Отлаживал их. Вдруг кому-то пригодится.&lt;/p&gt;
&lt;p&gt;Картинке нужен абсолютный УРЛ, а не относительный.&lt;/p&gt;
&lt;h2&gt;Проверить, как покажет:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developers.facebook.com/tools/debug"&gt;Фейсбук&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cards-dev.twitter.com/validator"&gt;Твитер&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;&lt;a href="https://linkedin.com/post-inspector"&gt;Линкедин&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Телеграм&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://telegram.me/webpagebot"&gt;Бот, который чистит кэш&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Первой строчкой в превью управляет метатег &lt;b&gt;og:site_name&lt;/b&gt;. Если он идентичен &lt;b&gt;og:title&lt;/b&gt;, останется только одна строка жирным.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Для большой картинки, неожиданно нужен метатег Твитера (а не Open Graph, как для всего остального):&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;meta name=&amp;quot;twitter:card&amp;quot; content=&amp;quot;summary_large_image&amp;quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Выравнивание подписей с длинами сторон прямоугольника</title>
<guid isPermaLink="false">672</guid>
<link>https://kirillbelyaev.com/ru/blog/?go=all/align-rectangle-side-values/</link>
<pubDate>Mon, 10 Sep 2018 13:42:22 +0300</pubDate>
<author>Кирилл Беляев</author>
<comments>https://kirillbelyaev.com/ru/blog/?go=all/align-rectangle-side-values/</comments>
<description>
&lt;p&gt;Заметка о вёрстке специфичного блока в вебе. Большинству такое не пригодится. Пишу, потому что надеюсь показать пользу от применения свойств по назначению.&lt;/p&gt;
&lt;p&gt;Верстали блочок с габаритами основания. Будь текст статичен, хватило бы СВГ. Но в английской версии мы помним об американцах и дублируем размеры в футах (и отбиваем дробную часть точкой):&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://kirillbelyaev.com/ru/blog/pictures/rectangle-wz-sides@2x.png" width="432" height="115" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;В СВГ всё задаётся строго по координатам, хорошо масштабируется, но не умеет «адаптироваться» под содержание. Поэтому c СВГ не обойтись без двух шаблонов и надежды, что они выдержат подписи любой длины. Можно усилить СВГ скриптом, но для меня это выглядело суперлишним. Казалось, что справятся ХТМЛ с ЦССом.&lt;/p&gt;
&lt;p&gt;Исходный ХТМЛ простейший:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;div&amp;gt;
    &amp;lt;span&amp;gt;22 м&amp;lt;/span&amp;gt;
    &amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;span&amp;gt;14 м&amp;lt;/span&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Первое, что решал: как выравнивать подписи по центру стороны. Понятно, что для верхней подписи нужен «text-align: center», но как ограничить длину подписи, чтобы она равнялась длине прямоугольника, а не всего родительского дива? Можно дублировать width для прямоугольника и подписи, но это не &lt;a href="https://ru.wikipedia.org/wiki/Don’t_repeat_yourself"&gt;DRY&lt;/a&gt; и неудобно в поддержке. Выручило свойство &lt;a href="https://www.w3.org/TR/css-sizing-3/#box-sizing"&gt;box-sizing&lt;/a&gt;, которое говорит, как считать ширину и высоту элемента. Добавил родительскому диву «box-sizing: content-box» — указанные размеры элементы не будут включать падинги и обводки.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;.rectangle {
    position: relative;
    box-sizing: content-box;
    padding-top: отступ, подходящий под высоту подписи; 
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Теперь можно наследовать длину родителя и позиционировать подписи вне его:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;.rectangle-width, .rectangle-height {
    display: inline-block;
    position: absolute;
    white-space: nowrap;
}

.rectangle-width {
    width: inherit;
    top: 0;
    text-align: center;
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если текст длиннее отведённой длины, то он начинается от левого края и благодаря «white-space: nowrap» не переносится.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;.rectangle-height {
    left: calc(100% + отступ от фигуры);
    top: 60%;
    transform: translateY(-40%);
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Transform и top и выравнивают подпись и фигуру по горизонтали. Если родитель без падинга,  сработает «top: 50%; transform: translateY(-50%)». В моём случае разницу в 20% нашёл на глаз.&lt;/p&gt;
&lt;p&gt;В конце разбираюсь с прямоугольником. Ширину и высоту он наследует у родителя, а ровно поместиться в отведённые границы помогает свойство «box-sizing: border-box», которое, наоборот, включает падинги и обводку.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;.rectangle-figure {
    display: inline-block;
    box-sizing: border-box;
    width: inherit;
    height: inherit;
    border: 1px solid цвет;
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Итоговый ХТМЛ английской версии (без оформления футов):&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;div class=&amp;quot;rectangle&amp;quot; style=&amp;quot;width: длина; height: высота&amp;quot;&amp;gt;
    &amp;lt;span class=&amp;quot;rectangle-width&amp;quot;&amp;gt;22 m 72.2 ft&amp;lt;/span&amp;gt;
    &amp;lt;div class=&amp;quot;rectangle-figure&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;span class=&amp;quot;rectangle-height&amp;quot;&amp;gt;14 m&amp;lt;br&amp;gt;45.9 ft&amp;lt;/span&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://kirillbelyaev.com/ru/blog/pictures/rectangle-wz-sides-layout@2x.png" width="441" height="115" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Кроме редактирования текста, код требует один раз задать размеры прямоугольника инлайн.&lt;/p&gt;
</description>
</item>


</channel>
</rss>