freeCodeCamp/curriculum/challenges/russian/01-responsive-web-design/css-flexbox/use-the-flex-shorthand-prop...

3.5 KiB
Raw Blame History

id title challengeType videoUrl forumTopicId localeTitle
587d78ae367417b2b2512afe Use the flex Shorthand Property 0 https://scrimba.com/p/pVaDAv/cbpW2tE 301112 Используйте свойство flex Shorthand

Description

Существует возможность быстрого выбора нескольких свойств гибкости сразу. Свойства flex-grow , flex-shrink и flex-basis можно объединить, используя свойство flex . Например, flex: 1 0 10px; установит элемент для flex-grow: 1; , flex-shrink: 0; , и flex-basis: 10px; , Настройки свойств по умолчанию - flex: 0 1 auto; ,

Instructions

Добавьте свойство CSS flex и к #box-1 и #box-2 . Дайте #box-1 значения, поэтому его flex-grow равен 2, его flex-shrink равен 2, а его flex-basis - 150 пикселей. Дайте #box-2 значения, поэтому его flex-grow равен 1, его flex-shrink равен 1, а его flex-basis - 150 пикселей. Эти значения приведут к тому, что #box-1 будет расти, чтобы заполнить дополнительное пространство с удвоенной скоростью #box-2 когда контейнер больше 300 пикселей, и с удвоенной скоростью #box-2 когда контейнер меньше 300 пикселей. 300px - это комбинированный размер значений flex-basis двух полей.

Tests

tests:
  - text: The <code>#box-1</code> element should have the <code>flex</code> property set to a value of 2 2 150px.
    testString: assert($('#box-1').css('flex-grow') == '2' && $('#box-1').css('flex-shrink') == '2' && $('#box-1').css('flex-basis') == '150px');
  - text: The <code>#box-2</code> element should have the <code>flex</code> property set to a value of 1 1 150px.
    testString: assert($('#box-2').css('flex-grow') == '1' && $('#box-2').css('flex-shrink') == '1' && $('#box-2').css('flex-basis') == '150px');
  - text: Your code should use the <code>flex</code> property for <code>#box-1</code> and <code>#box-2</code>.
    testString: assert(code.match(/flex:\s*?\d\s+?\d\s+?150px;/g).length == 2);

Challenge Seed

<style>
  #box-container {
    display: flex;
    height: 500px;
  }
  #box-1 {
    background-color: dodgerblue;

    height: 200px;
  }

  #box-2 {
    background-color: orangered;

    height: 200px;
  }
</style>

<div id="box-container">
  <div id="box-1"></div>
  <div id="box-2"></div>
</div>

Solution

<style>
  #box-container {
    display: flex;
    height: 500px;
  }
  #box-1 {
    background-color: dodgerblue;
    flex: 2 2 150px;
    height: 200px;
  }

  #box-2 {
    background-color: orangered;
    flex: 1 1 150px;
    height: 200px;
  }
</style>

<div id="box-container">
  <div id="box-1"></div>
  <div id="box-2"></div>
</div>