Що означає значення `auto` у властивості CSS.


79

Що означає autoзначення властивості CSS. Що станеться, коли для значення властивості CSS встановлено значення auto?


4
Поведінка autoCSS залежить від атрибута, якому ви призначаєте. Вам доведеться навести приклад того, який атрибут вас цікавить, якщо ви хочете отримати більш конкретну відповідь.
— cdhowie

Відповіді:


89

Значення зазначеної властивості регулюється автоматично відповідно до змісту або контексту елемента.

Наприклад, елемент на рівні блоку з height: autoросте вище, оскільки містить більше тексту. В іншому прикладі, елемент блоку з margin: 0 autoбуде збільшувати ліве та праве поле, поки він не стане центром вздовж осі y області перегляду.

Це насправді залежить від властивості, якій ви надаєте значення, різні властивості поводяться по-різному залежно від змісту та контексту.


7
@MarceloBarbosa: Ні, навіть у властивостях, які приймають обидва значення, авто не завжди означає 100%. Наприклад, ширина 100% змушує елемент вбудованого блоку становити 100% від його ширини контейнера, навіть якщо на тому самому рядку є інші елементи (натомість ці елементи переміщуються до наступного рядка). Авто ширина змушує вбудований блок стискатися відповідно до його вмісту, що, безумовно, не є 100%.
— BoltClock

Як я можу змусити елементи рівня блоку, які дають 100% в один рядок?
— Алстон,

Чи є значення “auto” типовим для всіх? Чи може кожна властивість мати значення "авто"?
— Робш

@robsch: Ні, незалежно від того, чи має властивість можливим значенням авто, не кажучи вже про початкове значення, повністю залежить від властивості. Для більшості властивостей автоматичне зведення значення не має сенсу.
— BoltClock

13

авто означає автоматичне налаштування. Найпоширенішою причиною, по якій я використовую авто, є:

margin: 0 auto;

для центрування елемента.

Зверніть увагу: якщо розмір не оголошено, він не буде працювати.

Приклад 1: div не відцентрований, авто не працює

<style>
    .cont {
        margin: 0 auto;
    }
</style>
<div class="cont"></div> 

Приклад 2: div центрується на сторінці

<style>
    .cont {
        width: 1000px;
        margin: 0 auto;
    }
</style>
<div class="cont"></div> 

2

Це дійсно залежить від того атрибута, який ви використовуєте. Наприклад, автоматичне встановлення ширини блоку розширить повний простір його батьківського елемента, але автоматичне встановлення висоти блоку лише розширить необхідний простір його вмісту.

<style>
    #outer{
        width: 500px;
        height: 500px;
        border: solid 2px black;
    }
    #inner{
        width: auto;
        height: auto;
        background-color: aqua;
    }
</style>
<div id="outer">
<div id="inner">content</div>
</div>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.