Как сделать рисунок фоном в html
Перейти к содержимому

Как сделать рисунок фоном в html

  • автор:

background-image

The background-image CSS property sets one or more background images on an element.

Try it

The background images are drawn on stacking context layers on top of each other. The first layer specified is drawn as if it is closest to the user.

The borders of the element are then drawn on top of them, and the background-color is drawn beneath them. How the images are drawn relative to the box and its borders is defined by the background-clip and background-origin CSS properties.

If a specified image cannot be drawn (for example, when the file denoted by the specified URI cannot be loaded), browsers handle it as they would a none value.

Note: Even if the images are opaque and the color won’t be displayed in normal circumstances, web developers should always specify a background-color . If the images cannot be loaded—for instance, when the network is down—the background color will be used as a fallback.

Syntax

Each background image is specified either as the keyword none or as an <image> value.

To specify multiple background images, supply multiple values, separated by a comma:

Values

Is a keyword denoting the absence of images.

Is an <image> denoting the image to display. There can be several of them, separated by commas, as multiple backgrounds are supported.

Accessibility concerns

Browsers do not provide any special information on background images to assistive technology. This is important primarily for screen readers, as a screen reader will not announce its presence and therefore convey nothing to its users. If the image contains information critical to understanding the page’s overall purpose, it is better to describe it semantically in the document.

Formal definition

Initial value none
Applies to all elements. It also applies to ::first-letter and ::first-line .
Inherited no
Computed value as specified, but with url() values made absolute
Animation type discrete

Formal syntax

Examples

Layering background images

Note that the star image is partially transparent and is layered over the cat image.

Как сделать картинку фоном в HTML и CSS. 3 простых способа

Приветствую. В этой статье я хочу рассказать о трех способах размещения изображения в качестве фона всей страницы при помощи только HTML + CSS (без использования JS).

Итак, требования к фоновому изображению у нас следующие:

  • Покрывается 100% ширины и высоты страницы
  • Фон масштабируется при необходимости (background растягивается или сжимается в зависимости от размеров экрана)
  • Сохраняются пропорции картинки (aspect ratio)
  • Изображение центрировано на странице
  • Фон не вызывает скроллов
  • Решение максимально кроссбраузерное
  • Не используются никакие другие технологии кроме CSS

design-development-electronics-326424.jpg

Способ 1

На мой взгляд, это лучший способ, ведь он самый простой, лаконичный и современный. Он использует свойство CSS3 background-size , которое мы применяем к тегу html . Именно html , а не body , т.к. его высота больше или равна высоте окна браузера.

Устанавливаем фиксированный и центрированный фон, затем корректируем его размер, используя background-size: cover .

Этот способ работает в

Chrome (любая версия) Opera 10+ Firefox 3.6+ Safari 3+ IE 9+

Способ 2

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

Этот способ работает в:

  • Любой версии хороших браузеров (Chrome, Opera, Firefox, Safari)
  • IE 9+

Способ 3

Еще один способ заключается в следующем: фиксируем изображение <img /> к левому верхнему углу страницы и растягиваем его при помощи свойств min-width и min-height 100%, сохраняя при этом соотношение сторон.

Правда при таком подходе картинка не центрируется. Но эта проблема решается заворачиванием картинки в <div />, который мы делаем в 2 раза больше размера окна. А само изображение мы растягиваем и помещаем по центру.

Этот способ работает в хороших браузерах и IE 8+.

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

Как добавить фоновое изображение

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

Как позиционировать фоновое изображение

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

Пример

В этом примере фоновое изображение расположено в центре. Можете также выбрать другие значения, например, left top; left center; left bottom; right top; right center; right bottom; и т.д.

Несколько способов позиционирования фонового изображения:

  • repeat (фоновое изображение повторяется и по вертикали, и по горизонтали)
  • repeat-x (фоновое изображение повторяется только по горизонтали)
  • repeat-y (фоновое изображение повторяется только по вертикали)

Пример

В этом примере фоновое изображение повторяется только по вертикали.

Используйте значение no-repeat, чтобы фоновое изображение не повторялось (изображение отображается только один раз).

Пример

Для того, чтобы создать фоновое изображение на всю страницу с помощью CSS, добавьте фоновое изображение к контейнеру, задав height: 100%.

Пример

Для того, чтобы получить прозрачное фоновое изображение, используйте свойство opacity, которое указывает прозрачность элемента. Выберите значение в пределах 0.0-1.0. , чтобы снизить степень прозрачности (например, 0.5 делает изображение полупрозрачным).

Пример

В вышеприведенном примере изображение имеет прозрачность 50%.

В IE8 и более старых версиях используется filter:alpha(opacity=x), где можно задать значение в пределах 0-100.

CSS Background Image – With HTML Example Code

Dionysia Lemonaki

Dionysia Lemonaki

CSS Background Image – With HTML Example Code

What a user sees on a website will impact how good their user experience is. It will also affect how easily they can use the whole site in general.

Adding images to the background of certain parts of a website is often more visually appealing and interesting than just changing the background-color.

Modern browsers support a variety of image file types like .jpg , .png , .gif , and .svg .

This article explains how to add images to your HTML code and how to then fine-tune them to look better.

Background Image Syntax

The first step is to make sure you create an assets directory (folder) to hold the images you want to use in your project.

For example we can create an images folder in the project we are working on and add an image called sunset.png that we want to use.

The background-image CSS property allows you to then place the image behind any HTML element you wish.

This could either be the whole page (by using the body selector in CSS which targets the <body> element in our HTML), or just a standalone specific part of the page such as a section element like in the example below.

To add a background-image to a section tag in your .css file, write the following code:

Let’s discuss what’s going on here in detail:

  • section specifies the tag you want to add the image to.
  • url() is used to tell CSS where our image is located.
  • Inside the parentheses, «images/sunset.png» is the path to the image. This lets the browser know what URL to pull.
  • The path in this example is called a relative path which means it is a local file, relative to our project and to our current working directory and is not a web address. To add images we can also use an absolute path, which is a full web address and starts with a domain URL ( http://www. ).
  • Using quotes is a good habit but we can omit them, so background-image: url(images/sunset.png) works the same.
  • Don’t forget the semicolon!

How to Stop Background Repeat

When you apply a background image to an element, by default it will repeat itself.

If the image is smaller than the tag of which it’s the background, it will repeat in order to fill in the tag.

How do we stop this from happening?

The background-repeat property takes in 4 values and we are able to change the direction in which the image repeats, or stop the image from repeating itself all together.

This is the default value if we don’t give the background-repeat property a value. In this case the image is repeated both horizontally and vertically so in both x-direction and y-direction respectively until it fills the space.

Screenshot-2021-07-20-at-9.10.06-PM

Screenshot-2021-07-20-at-9.11.39-PM

The no-repeat value stops the image from repeating itself from all directions. The image is only shown once.

This value repeats the image only horizontally on the page. The image is repeated across the page, in the x-direction . The x-direction in math is from the left to the right.

This value repeats the image only vertically on the page. The image is repeated down the page ,in the y-direction . The y-direction in math is from top to bottom.

How to Set Background Position

After adding a background image and stopping it from repeating, we are able to further control how it looks within the background of the tag by improving its position.

We’ll use the background-position property to do this.

The selector takes in two values. The first one is for the horizontal position, or x-direction (how far across the tag). The second one is for the vertical position, or y-direction (how far down the tag).

The values can be units, like a pair of pixels:

This will move the image 20px across and 30px down the containing tag.

Instead of pixels we can use a set of keywords like right, left, top, down, or center to place the image at the right, left, top, down, or center of the tag.

This places the image at the right hand side of the center of the tag.

Screenshot-2021-07-21-at-9.02.55-AM

If we wanted to center it both horizontally and vertically, we would do the following:

Screenshot-2021-07-21-at-9.07.41-AM

To position an image with finer detail, it is worth mentioning that we can use percentages.

This positions the image 20% across the tag and 40% down the tag.

So far we have seen values used in combination, but we can also just specify one value like background-position: 20px; or background-position: center; or background-position: 20%; , which applies it to both directions.

How to Resize a Background Image

To control the size of the background image we can use the background-size property.

Again, like the previous properties mentioned, it takes in two values. One for the horizontal (x) size and one for the vertical (y) size.

We can use pixels, like so:

If we do not know the exact width of the container we are storing the image in, there is a set of specific values we can give the property.

  • background-size: cover; resizes the background image so it covers up the whole tag’s background space no matter the width of the tag. If the image is too big and has a larger ratio to the tag it is in, this means the image will get stretched and therefore cropped at its edges.
  • background-size: contain; contains the image, as the name suggests. It will make sure the whole image is shown in the background without cropping out any of it. If the image is much smaller than the tag there will be space left empty which will make it repeat to fill it up, so we can use the background-repeat: no-repeat; rule we mentioned earlier.

Screenshot-2021-07-21-at-9.18.15-AM

The rule background-size:cover; in this case will crop of parts of the image

When we change it to background-size:contain; we see that the image shrinks to fit the section tag.

Screenshot-2021-07-21-at-9.18.49-AM

How to Use the Background Attachment Property

With the background-attachment property we can control where the background image is attached, meaning if the image is fixed or not to the browser.

The default value is background-attachment: scroll; , where the background image stays with its tag and follows the natural flow of the page by scrolling up and down as we scroll up and down.

The second value the property can have is background-attachement: fixed; .
This makes the background image stay in the same postion, fixed to the page and fixed on the browser’s viewport. This creates a parallax effect which you can see an example of here:

See the Pen by Dionysia Lemonaki (@deniselemonaki) on CodePen.

Background Gradients

A different use case for the background-image property is for telling the browser to create a gradient.

The background-image in this case does not have a URL, but a linear-gradient instead.

The simplest way to do this is to specify the angle. This controls the direction of the gradient and how to colors will blend. Lastly add two colors that you want blended together in a gradient for the tag’s background.

A gradient that goes from top to bottom and from black to white is:

The most common degrees used for gradients are:

  • 0deg from top to bottom
  • 90deg from left to right
  • 180deg from bottom to top
  • 270deg from right to left

The above degrees each correspond with to top , to right , to bottom and to left , respectively.

See the Pen by Dionysia Lemonaki (@deniselemonaki) on CodePen.

Instead of keyword colors we can use hex colors to be more particular and have a wider range of options:

See the Pen by Dionysia Lemonaki (@deniselemonaki) on CodePen.

We can also include more than two colors in a gradient, creating different affects and color schemes.

Conclusion

This marks the end of our introduction to the basic syntax of the background-image property.

From here the possibilities are endless and leave room for a lot of creative expression. These effects help the user have a pleasant experience when visiting your website.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *