Абсолютный блок по центру. Выравнивание элементов. Выравнивание свойством line-height

Совсем недавно приложение Whastapp, вслед за инстаграмом запилил новую функцию — статусы. Статусы или еще их называют «сторис» — это короткие самоисчезающие сообщения, которые можно разместить максимум на 24 часа. Статус в ватсап можно создавать из фотографий и видеороликов. Поговорим о приватности статусов или о том, как скрывать их просмотр от других.

Как показывать статус в Whatsapp только определенным людям

Для начала немного теории: по умолчанию ваш статус в ватсап увидит только тот человек, который есть в вашей адресной книге. Это значит, что, если никак не менять настроек, то их не увидит тот человек, если его номер телефона не сохранен в вашей телефонной книге.

Также вы можете менять настройки показа статуса:

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

Очень интересная фишка с этими статусами. Их создатель видит, сколько человек просмотрели его статус . Мало того, он видит их имена и время просмотра . Весьма неприятная штука, особенно для меня. Я люблю просматривать чужие статусы, но не хочу, чтобы они это знали. Что же делать?

Как скрыть то, что я смотрел чей то статус?

Для того, чтобы стать невидимкой и не палится при просмотре чужих статусов надо зайти в настройки приватности Меню — Настройки — Аккаунт — Приватность и снимите галочку Отчеты о прочтении

Теперь ваш контакт в ватсапе, создавший статус не увидит, когда вы его просмотрите. Таким образом, вы активируете «режим невидимки». Но тут палка о 2-х концах. Если вы создадите новый статус, то вы не сможете видеть сколько человек его просмотрели, и кто это был конкретно.

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

На всякий случай напомню, что означают галочки.

Что означают галочки в Whatsapp

галочки ватсап
  • две синие галочки — сообщение прочитано
  • две серые — сообщение только доставлено
  • одна галка — сообщение отправлено на сервера whatsapp
  • значок часов — сообщение еще не не отправлено (нет связи с серверами или нет доступа в интернет)

Уже третий день интернеты бурлят статьями в стиле "контакт открыл все анкеты ", «контакт отменил приватность», «все ваши фотографии теперь доступны» и т.п.

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

Сейчас появился еще один. И сколько еще появится - не понятно. При чем, все заявления авторов топиков одно громче другого. Зачастую, авторы пишут топики толком не разбираясь в настройках «контакта» (видимо, лишь бы написать топик). Это порядком надоело!

Поэтому, я хочу объяснить всем паникующим - что произошло и почему (по идее, конечно, это следовало сделать представителям самого «ВК», но раз уж их нет - возьму это бремя на себя).

Первое, что хочется сказать - приватность ваших фотографий - не изменилась !

«Как же так?» - скажите вы - «Ведь раньше, заходя на закрытую страницу, я не видел фотографии, а теперь - вижу!».

Суть в следующем - для обеспечения приватности альбомов, вы должны указывать настройки приватности отдельно для каждого альбома (раздел «Мои фотографии», поле «доступно...»). Те альбомы, доступность которых не позволяет их увидеть не-друзьям - никто, кроме них и не увидит. Но самое интересное в том, что если вы до этого не ставили эту настройку приватности для альбомов, то и раньше они были открытыми! Несмотря на то, что ваша страница была закрыта.

Да-да, уважаемые юзеры! Альбомы с настройками по умолчанию всегда можно было посмотреть, даже если ваша анкета была полностью закрыта. Только разница в том, что раньше это мало кто знал, и для того, чтобы посмотреть эти альбомы - вы должны были перейти по специальной ссылке типа «vkontakte.ru/albumsХХХХХХ », где «ХХХХХХХ» - это ID пользователя (в т.ч. и с закрытой анкетой). Или же воспользоваться разными приложениями с названиями типа «просмотр закрытых профилей», которые генерировали эти самые ссылки.

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

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

P.S.

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

Уверены, что со статусами (некоторые называют их «сторис») в социальных сетях вы давно знакомы. Так вот и в ватсапе эта функция направлена на то, чтобы сделать общение в мессенджере ещё более комфортным и уютным. Через них здесь можно делиться с друзьями весёлыми снимками, шутками, интересными фактами, цитатами со смыслом, рассказывать какую-нибудь новость из своей жизни и мн. др.

Что представляют собой такие «сторис»? Это короткие самоисчезающие сообщения, которые можно разместить максимум на одни сутки, то есть 24 часа. Причём whatsapp имеет поддержку сразу нескольких видов статусов:

  • текст;
  • фотографии;
  • видеоролики и пр.

Согласитесь, что всё это очень напоминает так называемые истории ВКонтакте. При этом как и в указанной популярной соцсети, так и в ватсапе статусы можно добавлять и удалять в любое время. Как это делается – сейчас расскажем.

Для справки! К сожалению, установить музыку на статус в ватсапе нельзя.

Установка и удаление статуса

Чтобы поставить статус в ватсапе, повторите следующее:

Учтите, что вся информация во вкладке «Статус» отображается ровно сутки, потом она исчезает. Так что не забывайте делиться свежими новостями и медиафайлами в ватсапе.

Бывает и так, что по прошествии пары минут или часов нужно изменить или вовсе удалить статус в ватсапе. Что же делать в таком случае?

  1. Запускаем whatsapp.
  2. Переходим в основное меню, затем – в раздел «Статус».
  3. Удаляем старое примечание. Тапаем на «три точки» рядом с полем «Мой статус», потом жмём и удерживаем статус. В появившемся окне выбираем значок «Корзина».
  4. Устанавливаем новое значение. Причём приложение обычно предлагает несколько шаблонов (на работе, занят, в кино, доступен и т.д.). Можете выбрать что-то из них. Если подходящего варианта нет, то просто поставьте смайлик.

Для справки! Некоторые пользователи, желая удалить свой статус в ватсапе, пытаются просто отправить пустое сообщение. Скажем сразу – ничего не получится. Если вы хотите его убрать, то просто добавьте в качестве нового «сторис» смайлик или какую-нибудь картинку.

Кто может просматривать ваши статусы whatsapp?

Для начала запомните следующее – чтобы вы и ваши контакты в мессенджере могли просматривать статусы друг друга, ваши телефонные номера должны быть сохранены в адресных книгах. То есть по умолчанию ваш статус в ватсапе может увидеть только тот человек, который есть в вашем списке контактов. И наоборот – вы сможете посмотреть «сторис» только вашего «друга». Получается, что, если пользователь никак не менял настройки, то информация в этой вкладке будет недоступной для сторонних абонентов.

Если же вы сами хотите посмотреть статус другого человека в ватсапе, то:

  1. Откройте мессенджер.
  2. Войдите в раздел «Статус».
  3. Обратите внимание на пункт «Последние». Здесь должны отразиться «сторис» всех ваших контактов, если они их, конечно, добавляли.
  4. Далее выберите конкретную запись и тапните по ней.

При этом человек сможет узнать, кто смотрел его статус. Ему нужно будет нажать на кнопку «три точки» рядом со своим статусом. Тем самым он перейдёт на страницу информации, где и сможет найти количество просмотров записи (с точным указанием времени).

Можно ли скрыть то, что вы просматривали чужой статус?

Хотите стать невидимкой и инкогнито изучать статусы других пользователей в ватсапе? Чтобы не «палиться» при просмотре чужих заметок, необходимо в настройках приватности (Меню/Настройки/Аккаунт/Приватность) снять галочку с пункта «Отчёты о прочтении».

После таких нехитрых манипуляций контакт в ватсапе, создавший статус, не увидит, когда вы его просмотрите. Таким образом, вы сможете незаметно читать «сторис» других пользователей. Правда, есть и обратная сторона медали. Если вы создадите новый статус при отключённых отчётах о прочтении, то вы не сможете увидеть, сколько человек его просмотрели, и, естественно, не поймёте, кто это был конкретно. Ещё вы не будете знать, прочитано ваше сообщение адресатом или нет.

Также многие пользователи спрашивают, есть ли возможность скрыть свой статус в whatsapp? Например, когда вы не хотите с кем-то делиться своей записью или заметкой. Конечно, можно настроить приватность историй в этом мессенджере. Для этого:

  1. Откройте пункт меню «Статус».
  2. Нажмите в самом верхнем правом углу на троеточие.
  3. Выберите раздел «Приватность статуса».
  4. Укажите, кто может видеть ваши «сторис».

Для справки! На iPhone можно и сохранить картинку или фотку из чужого статуса в ватсапе. Правда, для начала придётся установить на смартфон специальный твик.

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

Для начала, основы:

Горизонтальное центрирование на CSS

Это делается просто, мы используем margin для нашего div блока.

ClassName{ margin:0 auto; width:200px; height:200px; }

Для центрирования div блока только горизонтально, вам необходимо определить ширину блока (width), использовать свойство auto для отступов (margin) слева и справа . Этот метод будет работать для всех блочных элементов (div, p, h1, и так далее…). Для применения горизонтального центрирования для строковых элементов (ссылки, картинки…), вам необходимо применить параметр display: block;

Горизонтальное и вертикальное центрирование на CSS

Центрирование div блока по горизонтали и вертикали одновременно, немного замысловатее. Вам необходимо знать размеры div блока преждевременно.

ClassName{ width:300px; height:200px; position:absolute; left:50%; top:50%; margin:-100px 0 0 -150px; }

С помощью абсолютного позиционирования блока, мы можем отсоединить его от окружающих элементов и определить его позицию в отношении к размеру окна браузера. Перемещаем div блок на 50% слева и сверху окна. Теперь верхний левый угол блока находится в центре окна браузера. Остается установить div блок в центре страницы с помощью перемещения его на половину его ширины влево и половину его высоты вверх. Ура! Получилось превосходное центрирование блока на чистом css коде.

Горизонтальное и вертикальное центрирование на jQuery

Как упоминалось ранее – CSS метод центрирования работает только с фиксированными размерами. Если размеры не определены, на помощь придет jQuery метод:

$(window).resize(function(){ $(".className").css({ position:"absolute", left: ($(window).width() - $(".className").outerWidth())/2, top: ($(window).height() - $(".className").outerHeight())/2 }); }); // Для запуска функции при загрузке окна: $(window).resize();

Функционирование данного метода заключается в запуске функции resize(), с помощью строки $(window).resize() . Эта функция работает всегда, когда изменяется размер окна браузера. Мы используем outerWidth() и outerHeight() , потому что в противовес width() и height() , они включают отступы и толщину рамок в размер, который возвращается ими. Последняя строка, запускает процесс центрирования div блока при загрузке страницы.

Преимущество использования этого метода в том, что вы можете не знать, какой размер div блока. Главный недостаток – это работоспособность только при включенном JavaScript. Поэтому этот метод приемлем для многофункциональных интерфейсов, таких как Вконтакте, Facebook и т.д.

Как всегда, вы можете предложить свой любимый метод центрирования блоков, написав в комментарии.

Сколько уже было сломано копий о задачу выравнивания элементов на странице. Предлагаю вашему вниманию перевод отличной статьи с решением этой проблемы от Стефана Шоу (Stephen Shaw) для Smashing Magazine - Absolute Horizontal And Vertical Centering In CSS .

Все мы знали о margin: 0 auto; для горизонтального центрирования, но margin: auto; не работало для вертикального. Это можно легко исправить, просто задав высоту и применив следующие стили:

Absolute-Center { margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
Я не первый, кто предложил это решение, однако такой подход редко применяется при вертикальном выравнивании. В комментариях к статье How to Center Anything With CSS Simon ссылается на пример jsFiddle , где приводится отличное решение для вертикального центрирования. Вот еще несколько на эту тему.

Рассмотрим способ поближе.

Достоинства

  • Кроссбраузерность (включая IE 8-10)
  • Никакой дополнительной разметки, минимум стилей
  • Адаптивность
  • Независимость от padding (без box-sizing !)
  • Работает для изображений

Недостатки

  • Должна быть задана высота (см. Variable Height)
  • Рекомендуется задать overflow: auto , чтобы контент не расползался
  • Не работает на Windows Phone

Совместимость с браузерами

Метод был протестирован, и прекрасно работает в Chrome, Firefox, Safari, Mobile Safari и даже IE 8-10. Один пользователь упоминал, что контент не выравнивается по вертикали на Windows Phone.

Внутри контейнера

Контент, размещенный в контейнер с position: relative будет прекрасно выравниваться:

Absolute-Center { width: 50%; height: 50%; overflow: auto; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }

С использованием viewport

Установим для контента position: fixed и зададим z-index:

Absolute-Center.is-Fixed { width: 50%; height: 50%; overflow: auto; margin: auto; position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 999; }

Адаптивность

Главное преимущество описываемого способа - это прекрасная работа, когда высота или ширина задана в процентах, да еще и понимание min-width/max-width и min-height/max-height .

Absolute-Center.is-Responsive { width: 60%; height: 60%; min-width: 400px; max-width: 500px; padding: 40px; overflow: auto; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }

Смещения

Если на сайте присутствует фиксированная шапка или требуется сделать какой-то другой отступ, просто нужно добавить в стили код вроде top: 70px; Пока задан margin: auto; блок с контентом будет корректно центрироваться по высоте.

Еще можно выравнивать контент по нужной стороне, оставляя центрирование по высоте. Для этого нужно использовать right: 0; left: auto; для выравнивания справа или left: 0; right: auto; для выравнивания слева.

Absolute-Center.is-Right { width: 50%; height: 50%; margin: auto; overflow: auto; position: absolute; top: 0; left: auto; bottom: 0; right: 20px; text-align: right; }

Много контента

Для того, чтобы большое количество контента не позволяло верстке разъезжаться, используем overflow: auto . Появится вертикальная прокрутка. Также можно добавить max-height: 100%; если у контента нет дополнительных отступов.
.Absolute-Center.is-Overflow { width: 50%; height: 300px; max-height: 100%; margin: auto; overflow: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }

Изображения

Способ отлично работает и для изображений! Добавим стиль height: auto; тогда картинка будет масштабироваться вместе с контейнером.

Absolute-Center.is-Image { width: 50%; height: auto; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }

Изменяемая высота

Описываемый способ требует заданной высоты блока, которая может быть указана в процентах и контролироваться с помощью max-height , что делает метод идеальным для адаптивных сайтов. Один из способов не задавать высоту - использование display: table . При этом блок контента центрируется независимо от размера.

Могут возникнуть проблемы с кроссбраузерностью, возможно следует использовать способ с table-cell (описан ниже).

  • Firefox/IE8: использование display: table выравнивает блок вертикально по верхней границе документа.
  • IE9/10: использование display: table выравнивает блок по левому верхнему углу страницы.
  • Mobile Safari: если ширина задана в процентах, страдает горизонтальное центрирование
.Absolute-Center.is-Variable { display: table; width: 50%; overflow: auto; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }

Другие способы

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

Отрицательный margin

Наверное, самый популярный способ. Подходит, если известны размеры блока.

Is-Negative { width: 300px; height: 200px; padding: 20px; position: absolute; top: 50%; left: 50%; margin-left: -170px; /* (width + padding)/2 */ margin-top: -120px; /* (height + padding)/2 */ }
Преимущества:

  • Кроссбраузерность
  • Минимальный код
Недостатки:
  • Не адаптивный
  • Ползет верстка, если в контейнере слишком много контента
  • Приходится компенсировать отступы или использовать box-sizing: border-box

Использование transform

Один из самых простых способов, поддерживает изменение высоты. Есть подробная статья на эту тему - "Centering Percentage Width/Height Elements " от CSS-Tricks.

Is-Transformed { width: 50%; margin: auto; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
Преимущества:

  • Изменяемая высота
  • Минимальный код
Недостатки:
  • Не работает в IE 8
  • Использование префиксов
  • Может мешать работе других эффектов с transform
  • В некоторых случаях при рендеринге размываются края блока и текст

Table-cell

Возможно один из самых лучших и простых способов. Подробно описан в статье "Flexible height vertical centering with CSS, beyond IE7 " от 456bereastreet. Главный недостаток - дополнительная разметка: требуется аж три элемента:

<!-- CONTENT -->

CSS:
.Pos-Container.is-Table { display: table; } .is-Table .Table-Cell { display: table-cell; vertical-align: middle; } .is-Table .Center-Block { width: 50%; margin: 0 auto; }
Преимущества:

Недостатки:
  • Сложная структура

Flexbox

Будущее CSS, flexbox будет решать множество сегодняшних проблем верстки. Подробно об этом написано в статье Smashing Magazine, которая называется Centering Elements with Flexbox .

Pos-Container.is-Flexbox { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; }
Преимущества:

  • Контаент может быть любой высоты или ширины
  • Может использоваться в более сложных случаях
Недостатки:
  • Нет поддержки IE 8-9
  • Требуется контейнер или стили в body
  • Требует множество разнообразных префиксов для корректной работы в современных браузерах
  • Возможные проблемы производительности

Итог

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



Top