Home  >  Article  >  Web Front-end  >  background-position percentage principle_html/css_WEB-ITnose

background-position percentage principle_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:42:031194browse

When I was helping others adjust their code today, I saw a style:

background-position: 50% 0;background-size: 100% auto;

Background-size: 100% auto, which means the background image width It is the element width * 100%, and the height is scaled proportionally. See css3 background for details.

For background-position, it is natural to think that the percentage is calculated based on the width of the parent element, but background-position is really not, it has its own set of principles. Detailed introduction below.

1. Equivalent writing methods

When reading various tutorials, there are the following equivalent writing methods:

  • top left, left top is equivalent to 0% 0%.
  • top, top center, center top is equivalent to 50% 0%.
  • right top, top right is equivalent to 100% 0%.
  • left, left center, center left is equivalent to 0% 50%.
  • center, center center is equivalent to 50% 50%.
  • right, right center, center right is equivalent to 100% 50%.
  • bottom left , left bottom is equivalent to 0% 100%.
  • bottom, bottom center, center bottom is equivalent to 50% 100%.
  • bottom right, right bottom is equivalent to 100% 100% .
  • So why are left and top equivalent to 0% 0%, and right bottom equivalent to 100% 100%?

    2. Background-position percentage calculation formula

    background-postion:x y;x:{容器(container)的宽度?背景图片的宽度}*x百分比,超出的部分隐藏。y:{容器(container)的高度?背景图片的高度}*y百分比,超出的部分隐藏。

    With this formula, it is easy to understand how to write 100%. After a little calculation, it is easy to understand the above various equivalents. The way to write it.

    3. Examples

    1. background-position: center center is equivalent to background-position: 50% 50% is equivalent to background-position:?px ?px

    Background is used in the example The picture is as follows [Size: 200px*200px]:

    The background image is centered in the container.

    <style type="text/css">.wrap{    width: 300px;    height: 300px;    border:1px solid green;    background-image: url(img/image.png);    background-repeat: no-repeat;/*    background-position: 50% 50%;*/    background-position: center center;}</style><div class="wrap"></div>

    The effect is to center the background image

    As above, the background image can be centered by setting the percentage and keywords. If you want to achieve How much should be set to center the image through specific values?

    According to the above formula:

    x=(width of container - background image width)*x percentage=(300px-200px)*50%=50px;

    y= (Container height - background image height) * y percentage = (300px - 200px) * 50% = 50px;

    That is, set background-postion: 50px 50px;

    Test it:

    <style type="text/css">.wrap{    width: 300px;    height: 300px;    border:1px solid green;    background-image: url(img/image.png);    background-repeat: no-repeat;/*    background-position: 50% 50%;*//*    background-position: center center;*/    background-position: 50px 50px;}</style><div class="wrap"></div>

    The effect is also centered.

    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn