Responsive website design css

Содержание
  1. Изучить отзывчивый веб-дизайн за 5 минут
  2. Относительные единицы измерения CSS
  3. Использование медиа-запросов для улучшения мобильной версии сайта
  4. Навигационное меню с использованием Flexbox
  5. Отзывчивая типографика: rem
  6. HTML Responsive Web Design
  7. What is Responsive Web Design?
  8. Setting The Viewport
  9. Example
  10. Responsive Images
  11. Using the width Property
  12. Example
  13. Using the max-width Property
  14. Example
  15. Example
  16. Responsive Text Size
  17. Hello World
  18. Example
  19. Hello World Viewport is the browser window size. 1vw = 1% of viewport width. If the viewport is 50cm wide, 1vw is 0.5cm. Media Queries In addition to resize text and images, it is also common to use media queries in responsive web pages. With media queries you can define completely different styles for different browser sizes. Example: resize the browser window to see that the three div elements below will display horizontally on large screens and stack vertically on small screens: Example .main float: left; width: 60%; /* The width is 60%, by default */ > /* Use a media query to add a breakpoint at 800px: */ @media screen and (max-width: 800px) .left, .main, .right width: 100%; /* The width is 100%, when the viewport is 800px or smaller */ > > Tip: To learn more about Media Queries and Responsive Web Design, read our RWD Tutorial. Responsive Web Page — Full Example A responsive web page should look good on large desktop screens and on small mobile phones. Ever heard about W3Schools Spaces? Here you can create your website from scratch or use a template, and host it for free. Responsive Web Design — Frameworks All popular CSS Frameworks offer responsive design. They are free, and easy to use. W3.CSS W3.CSS is a modern CSS framework with support for desktop, tablet, and mobile design by default. W3.CSS is smaller and faster than similar CSS frameworks. W3.CSS is designed to be independent of jQuery or any other JavaScript library. W3.CSS Demo Resize the page to see the responsiveness! London London is the capital city of England. It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants. Paris Paris is the capital of France. The Paris area is one of the largest population centers in Europe, with more than 12 million inhabitants. Tokyo Tokyo is the capital of Japan. It is the center of the Greater Tokyo Area, and the most populous metropolitan area in the world. Example W3Schools Demo Resize this responsive page!
London London is the capital city of England. It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants. Paris Paris is the capital of France. The Paris area is one of the largest population centers in Europe, with more than 12 million inhabitants. Tokyo Tokyo is the capital of Japan. It is the center of the Greater Tokyo Area, and the most populous metropolitan area in the world. To learn more about W3.CSS, read our W3.CSS Tutorial. Bootstrap Another popular CSS framework is Bootstrap: Example My First Bootstrap Page Resize this responsive page to see the effect!
Column 1 Lorem ipsum. Column 2 Lorem ipsum. Column 3 Lorem ipsum.
To learn more about Bootstrap, go to our Bootstrap Tutorial. Источник
  • Media Queries
  • Example
  • Responsive Web Page — Full Example
  • Responsive Web Design — Frameworks
  • W3.CSS
  • W3.CSS Demo
  • London
  • Paris
  • Tokyo
  • Example
  • W3Schools Demo
  • London
  • Paris
  • Tokyo
  • Bootstrap
  • Example
  • My First Bootstrap Page
  • Column 1
  • Column 2
  • Column 3
  • Читайте также:  Python переименовать все файлы

    Изучить отзывчивый веб-дизайн за 5 минут

    Привет, Хабр! Представляю вашему вниманию перевод статьи «Learn responsive web design in 5 minutes» автора Per.

    В этой статье я научу вас многим приёмам отзывчивого дизайна за 5 минут. Этого, очевидно, недостаточно для правильного изучения, но здесь вы найдёте обзор на следующие наиболее важные методы:

    Относительные единицы измерения CSS


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

    Самые распространённые относительные единицы измерения:

    Допустим, у нас есть очень простой сайт как тот, что ниже:

    image

    Как вы можете понять из GIF ниже, наше изображение по умолчанию будет иметь фиксированную ширину:

    Изображение не особенно отзывчиво, поэтому давайте изменим ширину на 70%. Мы просто пропишем следующее:

    Это устанавливает ширину изображения равной 70% от ширины исходного элемента, который прописан в теге . Поскольку тег охватывает всю ширину экрана, изображение всегда будет составлять 70% самого окна браузера.

    Вот так легко создать отзывчивое изображение.

    Использование медиа-запросов для улучшения мобильной версии сайта


    У нас есть одна проблема с нашей отзывчивой версткой – она выглядит странно на очень маленьких экранах. Равная 70% ширина должна уменьшаться при просмотре на мобильном телефоне. Просто сами взгляните:

    image

    Сделать так, чтобы изображение выглядело лучше в таком случае – задача как раз для медиа-запросов. Они позволяют применять различные стили, например, в зависимости от ширины экрана. Мы можем прописать, что если ширина экрана меньше 768px, то нужно использовать другой стиль.

    Вот как мы создаем медиа-запрос в CSS:

    Этот блок CSS будет применяться только в том случае, если ширина экрана меньше 768 пикселей.

    Как видите, страница имеет breakpoint (контрольную точку), где изображение становится шире: когда окно браузера имеет ширину 768px, ширина изображения меняется с 70% на 100%.


    Далее идёт Flexbox. Вы просто не сможете понять отзывчивость, не познакомившись с Flexbox. Когда Flexbox был представлен несколько лет назад, он изменил отзывчивый дизайн, поскольку данный модуль много облегчает расположение элементов вдоль оси.

    Чтобы использовать Flexbox, мы сделаем наш сайт немного сложнее, добавив навигационное меню над заголовком. Вот HTML-код для этого:

    По умолчанию это будет выглядеть как-то так:

    image

    Наши элементы меню сдвинуты в левую сторону, но это не то, что нам нужно. Мы хотим, чтобы они были равномерно выровнены по ширине страницы.

    Для этого мы просто превратим контейнер в flexbox, а затем применим магическое свойство justify-content.

    Разберёмся. Display: flex превращает в flexible box (гибкий контейнер). Justify-content: space-around сообщает браузеру, что элементы внутри гибкого контейнера должны иметь вокруг себя пространство. Так браузер равномерно распределяет всё оставшееся вокруг трёх элементов пространство.

    Вот как это выглядит. И, как вы можете заметить, сайт хорошо масштабируется:

    Отзывчивая типографика: rem


    Последний шаг – сделать нашу типографику отзывчивой. Видите ли, я хочу, чтобы навигационное меню и заголовок немного уменьшались в размерах, когда ширина экрана меньше 768px (наша контрольная точка, помните?).

    Один из способов это сделать – уменьшить размер шрифта в медиа-запросе, например, следующим образом:

    Вышло далеко не идеально. В приложении может быть несколько контрольных точек и множество элементов (h2, h3, параграфы и так далее). В результате нам придётся отслеживать все элементы во всех различных брейкпоинтах. Нетрудно догадаться, что это создаст некоторую путаницу.

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

    Что, если бы был способ, позволяющий настроить один элемент, а затем сделать так, чтобы остальные размеры шрифта масштабировались относительно этого элемента?

    Rem в основном означает значение размера шрифта, которое вы установили для своего элемента. Типа следующего:

    И тогда мы просто изменим значение размера шрифта для тега внутри нашего медиа-запроса. Это обеспечит изменение размера шрифта для наших элементов h1 и nav.

    Вот как мы изменяем значение rem в медиа-запросе:

    И точно так же у нас есть контрольная точка для всех наших размеров шрифта. Обратите внимание на то, как изменяется размер шрифта, когда страница пересекает 768-пиксельную метку:

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

    Источник

    HTML Responsive Web Design

    Responsive web design is about creating web pages that look good on all devices!

    A responsive web design will automatically adjust for different screen sizes and viewports.

    Responsive Web Design

    What is Responsive Web Design?

    Responsive Web Design is about using HTML and CSS to automatically resize, hide, shrink, or enlarge, a website, to make it look good on all devices (desktops, tablets, and phones):

    Setting The Viewport

    To create a responsive website, add the following tag to all your web pages:

    Example

    This will set the viewport of your page, which will give the browser instructions on how to control the page’s dimensions and scaling.

    Here is an example of a web page without the viewport meta tag, and the same web page with the viewport meta tag:

    Without the viewport meta tag:

    With the viewport meta tag:

    Tip: If you are browsing this page on a phone or a tablet, you can click on the two links above to see the difference.

    Responsive Images

    Responsive images are images that scale nicely to fit any browser size.

    Using the width Property

    If the CSS width property is set to 100%, the image will be responsive and scale up and down:

    Example

    style=»width:100%;»>

    Notice that in the example above, the image can be scaled up to be larger than its original size. A better solution, in many cases, will be to use the max-width property instead.

    Using the max-width Property

    If the max-width property is set to 100%, the image will scale down if it has to, but never scale up to be larger than its original size:

    Example

    Flowers

    Responsive Text Size

    The text size can be set with a «vw» unit, which means the «viewport width».

    That way the text size will follow the size of the browser window:

    Hello World

    Resize the browser window to see how the text size scales.

    Example

    Hello World

    Viewport is the browser window size. 1vw = 1% of viewport width. If the viewport is 50cm wide, 1vw is 0.5cm.

    Media Queries

    In addition to resize text and images, it is also common to use media queries in responsive web pages.

    With media queries you can define completely different styles for different browser sizes.

    Example: resize the browser window to see that the three div elements below will display horizontally on large screens and stack vertically on small screens:

    Example

    .main float: left;
    width: 60%; /* The width is 60%, by default */
    >

    /* Use a media query to add a breakpoint at 800px: */
    @media screen and (max-width: 800px) .left, .main, .right width: 100%; /* The width is 100%, when the viewport is 800px or smaller */
    >
    >

    Tip: To learn more about Media Queries and Responsive Web Design, read our RWD Tutorial.

    Responsive Web Page — Full Example

    A responsive web page should look good on large desktop screens and on small mobile phones.

    Ever heard about W3Schools Spaces? Here you can create your website from scratch or use a template, and host it for free.

    Responsive Web Design — Frameworks

    All popular CSS Frameworks offer responsive design.

    They are free, and easy to use.

    W3.CSS

    W3.CSS is a modern CSS framework with support for desktop, tablet, and mobile design by default.

    W3.CSS is smaller and faster than similar CSS frameworks.

    W3.CSS is designed to be independent of jQuery or any other JavaScript library.

    W3.CSS Demo

    Resize the page to see the responsiveness!

    London

    London is the capital city of England.

    It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants.

    Paris

    Paris is the capital of France.

    The Paris area is one of the largest population centers in Europe, with more than 12 million inhabitants.

    Tokyo

    Tokyo is the capital of Japan.

    It is the center of the Greater Tokyo Area, and the most populous metropolitan area in the world.

    Example

    W3Schools Demo

    Resize this responsive page!

    London

    London is the capital city of England.

    It is the most populous city in the United Kingdom,
    with a metropolitan area of over 13 million inhabitants.

    Paris

    Paris is the capital of France.

    The Paris area is one of the largest population centers in Europe,
    with more than 12 million inhabitants.

    Tokyo

    Tokyo is the capital of Japan.

    It is the center of the Greater Tokyo Area,
    and the most populous metropolitan area in the world.

    To learn more about W3.CSS, read our W3.CSS Tutorial.

    Bootstrap

    Another popular CSS framework is Bootstrap:

    Example

    My First Bootstrap Page

    Resize this responsive page to see the effect!

    Column 1

    Lorem ipsum.

    Column 2

    Lorem ipsum.

    Column 3

    Lorem ipsum.

    To learn more about Bootstrap, go to our Bootstrap Tutorial.

    Источник

    Оцените статью