Содержание

Collapse. Компоненты · Bootstrap. Версия v4.0.0

Переключайте видимость контента в вашем проекте несколькими классами, нашим плагином переключения видимости и JavaScript.

Примеры

Кликните по кнопке внизу, чтобы показать и скрыть элемент с помощью изменения его класса:

  • .collapse скрывает содержимое
  • .collapsing применяется во время переходов
  • .collapse.show показывает содержимое

Вы можете использовать ссылку с атрибутом href или кнопку с атрибутом data-target. В обоих случаях требуется атрибут data-toggle="collapse".

Ссылка с href Кнопка с data-target

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.

<p>
  <a data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
    Ссылка с href
  </a>
  <button type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
    Кнопка с data-target
  </button>
</p>
<div>
  <div>
    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
  </div>
</div>

Взаимодействие со множественными объектами

Кнопки и ссылки <button> и <a> могут показывать и прятать сразу несколько элементов, обращаясь к их атрибутам href или data-target через селектор jQuery. Несколько <button> или <a> могут показывать или прятать один элемент, если каждый из них обращается к элементу через свои атрибуты href или data-target.

Переключить 1-ый элемент Переключить 2-ой элемент Переключить оба элемента

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.

<p>
  <a data-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Переключить 1-ый элемент</a>
  <button type="button" data-toggle="collapse" data-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Переключить 2-ой элемент</button>
  <button type="button" data-toggle="collapse" data-target=".
multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Переключить оба элемента</button> </p> <div> <div> <div> <div> Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. </div> </div> </div> <div> <div> <div> Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. </div> </div> </div> </div>

Разворачиваемые панели

Используя компонент «карточка», можно расширить стандартное поведение сворачивания для создания «аккордеона», т.

е. столбца сворачиваемых панелей (для экономии места).

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven’t heard of them accusamus labore sustainable VHS.

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven’t heard of them accusamus labore sustainable VHS.

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven’t heard of them accusamus labore sustainable VHS.

<div>
  <div>
    <div>
      <h5>
        <button data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          Разворачиваемая панель #1
        </button>
      </h5>
    </div>

    <div aria-labelledby="headingOne" data-parent="#accordion">
      <div>
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. </div> </div> </div> <div> <div> <h5> <button data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> Разворачиваемая панель #2 </button> </h5> </div> <div aria-labelledby="headingTwo" data-parent="#accordion"> <div> Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. </div> </div> </div> <div> <div> <h5> <button data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> Разворачиваемая панель #3 </button> </h5> </div> <div aria-labelledby="headingThree" data-parent="#accordion"> <div> Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. </div> </div> </div> </div>

Доступность

Добавьте aria-expanded к «контролирующему» элементу. Этот атрибут явно передает текущее состояние скрываемого элемента, привязанного к «контролирующему» элементу, «экранным читалкам» и прочим вспомогательным технологиям. Если скрываемый элемент скрыт по умолчанию, его aria-expanded должен быть «false» aria-expanded="false". Если раньше вы определяли скрываемый элемент показываемым по умолчанию через класс show, теперь используйте вместо этого класса aria-expanded="true" в «контролирующем» элементе. Основываясь на том, показан или скрыт элемент, плагин будет автоматически переключать этот атрибут (через JavaScript либо через отслеживание клика по другому «контролирующему» элементу, связанному с данным скрываемым элементом).

Дополнение: если ваш «контролирующий» элемент взаимодействует с одним скрываемым элементом – т.е. атрибут data-target указывает на #id – вы можете добавить дополнительный атрибут aria-controls к «контролирующему» элементу, содержащему #id этого скрываемого элемента.

Использование

Плагин «скрытия\показа» использует несколько классов для работы c даже «тяжелыми» элементами:

  • .collapse прячет содержимое
  • . collapse.show показывает содержимое
  • .collapsing добавляется, когда переход начинается и удаляется с его завершением

Эти классы можно найти в _transitions.scss.

Через атрибуты

Добавьте в элемент атрибуты data-toggle="collapse" и data-target для автоматического контроля одного или более скрываемых элементов. Атрибут data-target принимает CSS-селектор для применения к нему поведения toggle’a. Удостоверьтесь, что добавили в скрываемый элемент класс collapse. Если он должен быть показан по умолчанию, добавьте в него класс show.

Для добавления компактно расположенной (см. Разворачиваемые панели для экономии места) группы «контролирующих» элементов добавьте атрибут data-parent="#selector". Обратитесь к демо для просмотра в действии.

Через JavaScript

Активируйте вручную:

$('. collapse').collapse()

Параметры

Параметры можно передавать через атрибуты или JavaScript. Чтобы сделать это через атрибуты, добавьте имя параметра к data-, например data-parent="".

Имя Тип По умолч. Описание
parent selector | jQuery object | DOM element false Если есть родительский элемент, все скрываемые элементы под определенным «родителем» закроются, когда он открыт (как в «аккордеоне» — это зависит от класса card). Атрибут нужно устанавливать в скрываемой зоне.
toggle boolean true Взаимодействует с скрываемым элементом по обращению

Методы

Асинхронные методы и переходы

Все методы API асинхронны и запускают переход. Они возвращаются функции, вызвавшей их, с началом перехода, но до его конца. Плюс, вызов метода к компоненту, выполняющему переход, будет проигнорирован.

Смотрите документацию по JavaScript.

.collapse(options)

Задействует ваше содержимое как скрываемый элемент. Принимает object дополнительных опций.

$('#myCollapsible').collapse({
  toggle: false
})
.collapse('toggle')

Задействует на скрываемом элементе функциональность toggle’а (hide\show). Возвращается к функции-вызову до того, как элемент показан или скрыт (т.е. до отработки событий shown.bs.collapse или hidden.bs.collapse event occurs).

.collapse('show')

Показывает скрываемый элемент. Возвращается к функции-вызову до того, как элемент показан или скрыт (т. е. до отработки события shown.bs.collapse).

.collapse('hide')

Прячет скрываемый элемент. Возвращается к функции-вызову до того, как элемент показан или скрыт (т.е. до отработки события hidden.bs.collapse).

.collapse('dispose')

Уничтожает «коллпас» элемента.

События

Класс «коллапса» в Bootstrap содержит несколько событий для вовлечения, взаимодействия и связи иных событий JS с функциональностью «коллапса».

Тип события Описание
show.bs.collapse Это событие наступает немедленно по вызову экземпляра метода show.
shown.bs.collapse Это событие наступает, когда элемент «коллапса» сделан видимым юзеру (будет ждать выполнения CSS-переходов).
hide.bs.collapse Это событие наступает немедленно по вызову метода hide.
hidden.bs.collapse Это событие наступает как только элемент «коллапса» скрыт от юзера (будет ждать выполнения CSS-переходов).
$('#myCollapsible').on('hidden.bs.collapse', function () {
  // do something…
})

Collapse · Bootstrap на русском

В Bootstrap плагин свертывание позволяет переключать контент на ваших страницах с помощью нескольких классов благодаря некоторым полезным JavaScript.

Содержание

Пример

Нажмите на ссылку ниже, чтобы показать и скрыть другой элемент через изменения класса:

  • .collapse скрывает содержание
  • .collapsing применяется во время переходов
  • . collapse.in показывает содержание

Вы можете использовать ссылку с href атрибут, или кнопка с атрибутом data-target. В обоих случаях data-toggle="collapse" необходима.

Link with href Button with data-target

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.

<p>
  <a data-toggle="collapse" href="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
    Link with href
  </a>
  <button type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
    Button with data-target
  </button>
</p>
<div>
  <div>
    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.  Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
  </div>
</div>

Пример Аккордеон

Унаследовать collapse по умолчанию, чтобы создать аккордеон.

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven’t heard of them accusamus labore sustainable VHS.

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven’t heard of them accusamus labore sustainable VHS.

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven’t heard of them accusamus labore sustainable VHS.

<div role="tablist" aria-multiselectable="true">
  <div>
    <div role="tab">
      <h5>
        <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          Collapsible Group Item #1
        </a>
      </h5>
    </div>
    <div role="tabpanel" aria-labelledby="headingOne">
      Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. 
    </div>
  </div>
  <div>
    <div role="tab">
      <h5>
        <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
          Collapsible Group Item #2
        </a>
      </h5>
    </div>
    <div role="tabpanel" aria-labelledby="headingTwo">
      Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
    </div>
  </div>
  <div>
    <div role="tab">
      <h5>
        <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
          Collapsible Group Item #3
        </a>
      </h5>
    </div>
    <div role="tabpanel" aria-labelledby="headingThree">
      Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.  3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
    </div>
  </div>
</div>

Доступность

Не забудьте добавить aria-expanded элементу управления. Этот атрибут однозначно определяет ток состояние сборного элемента на экране читателей и подобных вспомогательных технологий. Если складной элемент закрыт по умолчанию, он должен иметь значение aria-expanded="false". Если вы установите складной элемент, который будет открыт по умолчанию, используя in класс, набор aria-expanded="true", а не на контроль. Плагин будет автоматически переключаться на этот атрибут, если не разборный элемент был открыт или закрыт.

Кроме того, если элемент ориентирован на один складной элемент, т. е. data-target атрибут, указывающий на id селектор – можно добавить дополнительные aria-controls атрибут в элемент, содержащий id складной элемент. Современные читатели экраном и подобных вспомогательных технологий используйте этот атрибут, чтобы предоставить пользователям дополнительные клавиши, чтобы перейти непосредственно к самой складной элемент.

Использование

Плагин распада использует несколько классов для обработки тяжелую работу:

  • .collapse скрывает содержимое
  • .collapse.in показывает содержимое
  • .collapsing добавляется при переходе начинается, и удаляется, когда это заканчивается

Эти классы можно найти в _animation. scss.

С помощью данных атрибутов

Просто добавьте data-toggle="collapse" и data-target для элемента, чтобы автоматически назначить управление складной элемент. На data-target атрибут принимает CSS селектор применять коллапс. Будьте уверены, чтобы добавить класс collapse складной элемент. Если вы хотите по умолчанию открыть, добавить дополнительный класс in.

Чтобы добавить гармошкой управления группа складной-контроль, добавьте атрибут Data data-parent="#selector". Ознакомьтесь с демо, чтобы увидеть это в действии.

Через JavaScript

Включение вручную:

$('.collapse').collapse()

Варианты

Параметры могут передаваться через атрибуты данных или JavaScript. Для атрибутов данных, введите имя параметр data-, а на data-parent="".

Имя Тип По умолчанию Описание
parent selector false Если имеется селектор, потом все разборные элементы в указанной родительской будет закрыт, когда этот складной элемент отображается. (аналог традиционного поведения аккордеон — это зависит от panel класс)
toggle boolean true Переключает складной элемент на вызов

Методы

.collapse(options)

Активирует ваш Контент как разборный элемент. Принимает необязательный варианты object.

$('#myCollapsible').collapse({
  toggle: false
})
.collapse('toggle')

Переключает складной элемент показаны или скрыты.

.collapse('show')

Показывает складной элемент.

.collapse('hide')

Скрывает складной элемент.

События

Bootstrap класс крах предоставляет несколько событий для навешивания на функциональность крах.

Тип События Описание
show.bs.collapse Это событие возникает сразу же, когда show способ экземпляра называется.
shown.bs.collapse Это событие запускается, когда элемент развал был сделан видимым для пользователя (будет ждать CSS переходы для завершения).
hide.bs.collapse Это событие сразу же уволили, когда hide метод был вызван.
hidden.bs.collapse Это событие запускается, когда элемент развал был скрыт от пользователя (будет ждать CSS переходы для завершения).
$('#myCollapsible').on('hidden.bs.collapse', function () {
  // сделать что-то...
})

Руководство Bootstrap Collapse и Accordion

Bootstrap Collapse это полезный компонент, который помогает скрыть или показать «зону» (area) на странице, пользователь может сам расширить (expand) một «зону» для просмотра содержания, или скрыть ее для экономии пространства.

Collapse

<!-- Link collapse -->
<a href="#" data-toggle="collapse" data-target="#target1">
    What is Lorem Ipsum?
</a>
<div>
   Lorem Ipsum is simply dummy text of the printing and typesetting industry.
   Lorem Ipsum has been the industry's standard dummy text ever since the 1500s ...
</div>


<!-- Button collapse -->
<button data-toggle="collapse" data-target="#target2">
    Why do we use it?
</button>
<div>
   It is a long established fact that a reader will be distracted by the
   readable content of a page when looking at its layout. ..
</div>

Смотрите полные пример:

collapse-example.html

<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8">
      <title>Dropdown Example</title>
      <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
   </head>
   <body>
      <div>
         <h5>Collapse Example</h5>

         <a href="#" data-toggle="collapse" data-target="#target1">
             What is Lorem Ipsum?
         </a>
         <div>
            Lorem Ipsum is simply dummy text of the printing and typesetting industry.
            Lorem Ipsum has been the industry's standard dummy text ever since the 1500s ...
         </div>

         <br><br>

         <button data-toggle="collapse" data-target="#target2">
             Why do we use it?
         </button>
         <div>
            It is a long established fact that a reader will be distracted by the
            readable content of a page when looking at its layout. ..
         </div>
      </div>
      <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
   </body>
</html>

Collapse влкючает 2 компонента, button (или Link) и цель (target), когда пользователь нажимает на button, цель будет скрыта или отображена. Bootstrap использует jQuery для обработки данного действия.

  1. Сначала класс .collapse применяется для цели (target), в этот момент цель скрыта.
  2. Пользователь нажимает на button, класс .collapsing применяется для цели. Вы увидите как цель расширена (expand).
  3. Последнее это когда содержание полностью отображено, цель будет создан класс . collapse.show

2- Много целей (Multi Targets)

Вы можете определить много целей (target) для одного button (или Link) с помощью использования jQuery Selector, это значит когда пользователь нажимает на button много целей будут скрыты или отображены.

Multi Target

<p>
   <a data-toggle="collapse" href="#target1" role="button">
     Show/Hide Target 1
   </a>
   <button type="button" data-toggle="collapse" data-target="#target2">
     Show/Hide Target 2
   </button>
   <button type="button" data-toggle="collapse" data-target=".myTarget">
     Toggle both Targets
   </button>
</p>

<div>
   <div>
      <div>
         <div>
            Lorem Ipsum is simply dummy text of the printing and typesetting industry...
         </div>
      </div>
   </div>
   <div>
      <div>
         <div>
            Anim pariatur cliche reprehenderit,
            enim eiusmod high life accusamus terry richardson ad squid. ...
         </div>
      </div>
   </div>
</div>
 

Accordion это компонент интерфейса, созданный из многих «.card» сложенных друг на друге вертикально. Каждый.card может быть расширен (expand) или уменьшен (collapse) в зависимости от конфигурации.

Это изображение структуры Accordion:

accordion-example.html

<!DOCTYPE html>
<html>
   <head>
      <meta charset="utf-8">
      <title>Accordion Example</title>
      <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
   </head>
   <body>
      <div>
         <h5>Accordion Example</h5>

         <div>
            <div>
               <div>
                  <h5>
                     <button type="button" data-toggle="collapse"
                        data-target="#collapseOne"
                        aria-expanded="true" aria-controls="collapseOne">
                     Javascript
                     </button>
                  </h5>
               </div>
               <div
                  aria-labelledby="headingOne" data-parent="#accordionExample">
                  <div>
                     JavaScript is a scripting or programming language that
                     allows you to implement complex things on web pages . .
                  </div>
               </div>
            </div>

            <div>
               <div>
                  <h5>
                     <button type="button" data-toggle="collapse"
                        data-target="#collapseTwo"
                        aria-expanded="false" aria-controls="collapseTwo">
                     Css
                     </button>
                  </h5>
               </div>
               <div aria-labelledby="headingTwo"
                  data-parent="#accordionExample">
                  <div>
                     CSS stands for Cascading Style Sheets.
                     CSS describes how HTML elements are to be displayed on screen,
                     paper, or in other media ..
                  </div>
               </div>
            </div>

            <div>
               <div>
                  <h5>
                     <button type="button"
                        data-toggle="collapse" data-target="#collapseThree"
                        aria-expanded="false" aria-controls="collapseThree">
                     Bootstrap
                     </button>
                  </h5>
               </div>
               <div aria-labelledby="headingThree"
                  data-parent="#accordionExample">
                  <div>
                     Bootstrap is a free front-end framework for faster and easier web development. 
                     Bootstrap includes HTML and CSS based design templates for typography ...
                  </div>
               </div>
            </div>

         </div>

      </div>

      <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
   </body>
</html>

border-collapse | CSS справочник

Поддержка браузерами

12.0+ 5.0+ 1.0+ 1.0+ 4. 0+ 1.2+

Описание

CSS свойство border-collapse определяет модель отображаемой рамки для таблицы. Это имеет большое влияние на внешний вид и стиль ячеек таблицы.

По умолчанию свойство установлено в значение «separate» — это традиционная модель рамок для таблицы в HTML, когда смежные ячейки таблицы имеют свои собственные различные рамки. Расстояние между рамками ячеек контролируется свойством border-spacing.

Если модель рамки, заданная по умолчанию, не подходит, то можно воспользоваться значением «collapse» — это приведет к объединению рамок между ячейками и таблицей, то есть будет только одна общая рамка без пространства между ячейками.

Значение по умолчанию: separate
Применяется: к table и inline-table элементам
Анимируется: нет
Наследуется: да
Версия: CSS2
Синтаксис JavaScript: object. style.borderCollapse=»collapse»

Синтаксис

border-collapse: separate|collapse|inherit;

Значения свойства

Значение Описание
collapse Рамки объединяются в одну, когда это возможно (свойства border-spacing и empty-cells будут проигнорированы).
separate Рамки раздельные (свойства border-spacing и empty-cells не игнорируются).
inherit Указывает, что значение наследуется от родительского элемента.

Пример

Ячейка таблицы Ячейка таблицы
Ячейка таблицы Ячейка таблицы

div {
border-collapse: collapse;
}

border-collapse | CSS (Примеры)

Свойство border-collapse устанавливает, как отображать границы вокруг ячеек таблицы.

Это свойство играет роль, когда для ячеек установлена рамка, тогда в месте стыка ячеек получится линия двойной толщины (рис. 1а). Значение collapse заставляет браузер анализировать подобные места в таблице и убирать в ней двойные линии (рис. 1б). При этом между ячейками остаётся только одна граница, одновременно принадлежащая обеим ячейкам. То же правило соблюдается и для внешних границ, когда вокруг самой таблицы добавляется рамка.

Фон Колонки и таблицы

Синтаксис

/* Keyword values */
border-collapse: collapse;
border-collapse: separate;

/* Global values */
border-collapse: inherit;
border-collapse: initial;
border-collapse: unset;

Значения

collapse
Линия между ячейками отображается только одна, также игнорируется значение атрибута cellspacing.
separate
Вокруг каждой ячейки отображается своя собственная рамка, в местах соприкосновения ячеек показываются сразу две линии.

Значение по-умолчанию:

border-collapse: separate;

Применяется к элементу <table> или к элементам, у которых значение display установлено как table или inline-table.

Спецификации

Описание и примеры

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>border-collapse</title>
    <style>
      table {
        width: 100%; /* Ширина таблицы */
        border: 4px double black; /* Рамка вокруг таблицы */
        border-collapse: collapse; /* Отображать только одинарные линии */
      }
      th {
        text-align: left; /* Выравнивание по левому краю */
        background: #ccc; /* Цвет фона ячеек */
        padding: 5px; /* Поля вокруг содержимого ячеек */
        border: 1px solid black; /* Граница вокруг ячеек */
      }
      td {
        padding: 5px; /* Поля вокруг содержимого ячеек */
        border: 1px solid black; /* Граница вокруг ячеек */
      }
    </style>
  </head>
  <body>
    <table>
      <tr>
        <th></th>
        <th>2013</th>
        <th>2014</th>
        <th>2015</th>
      </tr>
      <tr>
        <td>Нефть</td>
        <td>43</td>
        <td>51</td>
        <td>79</td>
      </tr>
      <tr>
        <td>Золото</td>
        <td>29</td>
        <td>34</td>
        <td>48</td>
      </tr>
      <tr>
        <td>Дерево</td>
        <td>38</td>
        <td>57</td>
        <td>36</td>
      </tr>
    </table>
  </body>
</html>

Рамка и отступы таблицы (свойства border-spacing, empty-cells, border-collapse)

Как сделать рамку для таблицы

Вид, толщину, цвет рамки таблицы определяет свойство border. Его можно указать в атрибуте style.

Ячейка Ячейка
Ячейка Ячейка
<table style="border: 1px solid red;">
  <tr>
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
</table>

Установить рамку каждой ячейке также можно с помощью атрибута style. Но предпочтительней стиль вынести в тег style или файл .css: кода меньше, возможности шире, удобства больше (чтобы изменить цвет рамки у всех ячеек, достаточно поменять значение один раз).

Ячейка Ячейка
Ячейка Ячейка
<table style="border: 1px solid red;">
  <tr>
    <td style="border: 1px solid red;">Ячейка
    <td style="border: 1px solid red;">Ячейка
  <tr>
    <td style="border: 1px solid red;">Ячейка
    <td style="border: 1px solid red;">Ячейка
</table>



<style>
. raz,
.raz td {
  border: 1px solid red;
}
</style>

<table class="raz">
  <tr>
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
</table>

Убрать промежутки от ячеек до краёв таблицы

Ячейка Ячейка Ячейка
Ячейка Ячейка Ячейка
Ячейка Ячейка Ячейка
Ячейка Ячейка Ячейка
<style>



.raz {
  border-spacing: 0;
  padding: 0 2em 3em 0;  
}
.raz,
.raz td {
  position: relative;
  border: 1px solid red;
}
.raz td:nth-child(2) {
  left: 1em;
}
.raz td:nth-child(3) {
  left: 2em;  
}
. raz tr:nth-child(2) td {
  top: 1em;
}
.raz tr:nth-child(3) td {
  top: 2em;
}
.raz tr:nth-child(4) td {
  top: 3em;
}
</style>

<table>
  <tr>
    <td>Ячейка
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
    <td>Ячейка
</table>

Скрыть пустые ячейки в таблице c border-collapse: collapse; можно с помощью псевдоклассов :empty или :blank.

border-collapse: схлопывание границ ячеек
separate
у каждой ячейки и таблицы в целом своя граница, игнорируется свойство border у thead, tfoot, tbody и tr
collapse
между ячейками и контейнером единая граница, отсутствуют двойные рамки таблицы, игнорируются свойства border-spacing, empty-cells, padding у table
initial
separate
inherit
наследует значение родителя
unset
наследует значение родителя
Ячейка Ячейка
Ячейка Ячейка
<style>
. raz {
  border-collapse: collapse; 
}
.raz,
.raz td {
  border: 1px solid red;
}
.raz tbody,
.raz tr,
.raz td {
  margin: 1em; 
}
.raz tbody,
.raz tr {
  padding: 1em; 
}
</style>

<table>
  <tbody>
    <tr>
      <td>Ячейка
      <td>Ячейка
    <tr>
      <td>Ячейка
      <td>Ячейка
</table>

Жирные внешние границы таблицы

Ячейка Ячейка
Ячейка Ячейка
<style>
.raz {
  border-collapse: collapse;
  border: 4px solid red;
}
.raz td {
  border: 1px solid red;
}
</style>

<table>
  <tr>
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
</table>

Таблица без границ аки сетка без внешней рамки

Ячейка Ячейка
Ячейка Ячейка
<style>
. raz {
  border-collapse: collapse;
  border-style: hidden;
}
.raz td {
  border: 1px solid red;
}
</style>

<table>
  <tr>
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
</table>

Свойство

border у tr
Заголовок Заголовок
Ячейка Ячейка
Ячейка Ячейка
<style>
.raz {
  border-collapse: collapse;
}
.raz tr:first-child {
  border-bottom: 1px solid red;
}
.raz th+th,
.raz td+td {
  padding-left: 1em;  
}
</style>

<table>
  <tr>
    <th>Заголовок
    <th>Заголовок
  <tr>
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
</table>

Свойство

padding у table при border-collapse: collapse;
Ячейка Ячейка
Ячейка Ячейка
<style>
. raz {
  border-collapse: collapse;
  outline: 1px solid red;  
  outline-offset: 2px;
  margin: 3px;  
}
.raz,
.raz td {
  border: 1px solid red;
}
</style>

<table>
  <tr>
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
</table>

Отступы внутри ячейки таблицы

Расстояние от содержимого до края ячейки определяет свойство padding.

Ячейка Ячейка
Ячейка Ячейка
<style>
.raz {
  border-collapse: collapse;
}
.raz td {
  border: 1px solid red;
  padding: .3em 1em;  
}
</style>

<table>
  <tr>
    <td>Ячейка
    <td>Ячейка
  <tr>
    <td>Ячейка
    <td>Ячейка
</table>

Свойство border-collapse — схлопывание границ

Свойство border-collapse заставляет двойные границы между ячейками td или ячейками th HTML таблицы (и между границей ячейки и самой таблицы) схлопнуться и выглядеть как одна.

Данное свойство применяется только для таблиц и для элементов с display в значении table или inline-table. Для обычных блочных элементов оно, к большому сожалению, работать не будет. Учтите, что применять следует для таблицы, а не для ее ячеек.

Синтаксис

селектор { border-collapse: collapse | separate; }

Значения

Значение Описание
collapse Двойные границы будут выглядеть как одна. Есть побочные эффекты: перестанет работать свойство border-spacing и атрибут cellspacing.
separate Каждая ячейка таблицы будет иметь свою границу (поэтому в некоторых местах границы будут двойными, если промежуток между ячейками нулевой).

Значение по умолчанию: separate.

Пример . Значение separate

Сейчас в таблице все границы двойные (граница задана и ячейкам, и самой таблице):

<table> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> <tr> <td>4</td> <td>5</td> <td>6</td> </tr> <tr> <td>7</td> <td>8</td> <td>9</td> </tr> </table> table { border-collapse: separate; width: 400px; border-spacing: 0; border: 1px solid red; } td { border: 1px solid red; text-align: center; }

:

Пример .

Значение separate

А сейчас граница задана ячейкам, но самой таблице не задана. Там, где две ячейки имеют общую границу,- границы будут двойные, в остальных местах — одиночные:

<table> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> <tr> <td>4</td> <td>5</td> <td>6</td> </tr> <tr> <td>7</td> <td>8</td> <td>9</td> </tr> </table> table { border-collapse: separate; width: 400px; border-spacing: 0; } td { border: 1px solid red; text-align: center; }

:

Пример . Значение collapse

Сейчас в таблице все границы схлопнутся и станут выглядеть толщиной в 1px, как и хотелось бы:

<table> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> <tr> <td>4</td> <td>5</td> <td>6</td> </tr> <tr> <td>7</td> <td>8</td> <td>9</td> </tr> </table> table { border-collapse: collapse; width: 400px; border: 1px solid red; } td { border: 1px solid red; text-align: center; }

:

CSS свойство border-collapse


Пример

Установить модель сворачивающихся границ для двух таблиц:

# table1 {
border-collapse: отдельный;
}

# table2 {
граница-коллапс: коллапс;
}

Попробуй сам »

Дополнительные примеры «Попробуйте сами» ниже.


Определение и использование

Свойство border-collapse устанавливает, должны ли границы таблицы сворачиваться в единую границу или быть разделенными как в стандартном HTML.

Значение по умолчанию: отдельный
Унаследовано: да
Анимируемое: нет. Прочитать о animatable
Версия: CSS2
Синтаксис JavaScript: объект .style.borderCollapse = «collapse» Попробуй это

Поддержка браузера

Числа в таблице указывают первую версию браузера, полностью поддерживающую свойство.

Объект
граница-развал 1,0 5,0 1,0 1,2 4,0


Синтаксис CSS

граница-коллапс: отдельный | коллапс | начальный | наследование;

Значения собственности

Значение Описание Играй
отдельный Границы разделены; каждая ячейка будет отображать свои границы. Это по умолчанию. Играй »
коллапс Границы сворачиваются в единую границу, когда это возможно (свойства border-spacing и empty-cells не действуют) Играй »
начальный Устанавливает для этого свойства значение по умолчанию. Читать про начальные Играй »
наследовать Наследует это свойство от своего родительского элемента.Читать про наследство

Другие примеры

Пример

При использовании «border-collapse: отдельный» свойство border-spacing может быть используется для установки промежутка между ячейками:

# table1 {
border-collapse: отдельный;
интервал границы: 10 пикселей;
}

Попробуй сам »

Пример

При использовании «border-collapse: collapse» ячейка, которая появляется первой в коде будет «выиграть»:

table, td, th {
border: 3px сплошной красный;
}

# table1 {
border-collapse: коллапс;
цвет границы: синий;
}

Попробуй сам »

Связанные страницы

Учебник

CSS: Таблица

CSS

Ссылка на HTML DOM: свойство borderCollapse



Коробочная модель

Коробочная модель

Содержание

  • 8. 1 Размеры коробки
  • 8.2 Пример полей, отступов и границ
  • 8.3 Свойства полей: ‘margin-top’, ‘margin-right’, ‘margin-bottom’, ‘margin-left’ и ‘margin’
  • 8.4 Свойства заполнения: ‘padding-top’, ‘padding-right’, ‘padding-bottom’, ‘padding-left’ и ‘padding’
  • 8.5 Свойства границ
    • 8.5.1 Ширина границы: ‘border-top-width’, ‘border-right-width’, ‘border-bottom-width’, ‘border-left-width’ и ‘border-width’
    • 8.5.2 Цвет границы: ‘border-top-color’, ‘border-right-color’, ‘border-bottom-color’, ‘border-left-color’ и ‘border-color’
    • 8.5.3 Стиль границы: ‘border-top-style’, ‘border-right-style’, ‘border-bottom-style’, ‘border-left-style’ и ‘border-style’
    • 8.5.4 Сокращенные свойства границы: ‘border-top’, ‘border-right’, ‘border-bottom’, ‘border-left’ и ‘border’
  • 8.6 Блочная модель для встроенных элементов в двунаправленном контексте

Модель блока CSS описывает прямоугольные блоки, которые генерируется для элементов в документе дерево и разложено согласно визуальному форматированию модель.

Каждая коробка имеет область содержимого (например, текст, изображение и т. д.) и необязательное окружение набивка , граница , и маржа областей; размер каждой области определяется свойствами, определенными ниже. Следующее диаграмма показывает, как эти области связаны, и терминология, используемая для обозначения на части поля, границы и заполнения:

Поля, граница и отступы можно разделить на верхнюю, правую и нижний и левый сегменты (например, на схеме «LM» для левого поля, «RP» для правого отступа, «TB» для верхней границы и т. Д.).

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

край содержимого или внутренний край
Край содержимого окружает прямоугольник, заданный шириной и высотой окна, которые часто зависят от отображаемого содержимого элемента. Четыре края содержимого определяют коробка содержимое коробки .
край обивки
Край набивки окружает набивку коробки.Если прокладка имеет ширину 0, край заполнения такой же, как край содержимого. Четыре края обивки определяют коробка прокладка .
бордюрный край
Край границы окружает границу рамки. Если граница имеет ширину 0, край границы такой же, как край заполнения. Четыре граничных края определяют границу коробки. ящик .
край поля или внешний край
Край поля окружает поле поля.Если маржа имеет ширину 0, край поля такой же, как край границы. Четыре края поля определяют поле поля. ящик .

Каждый край может быть разбит на верхний, правый, нижний и левый край.

Размеры области содержимого блока — ширина содержимого и высота содержимого — зависят от нескольких факторов: генерирует ли элемент коробка имеет ширину или свойство ‘высота’ установить, содержит ли поле текст или другие поля, независимо от того, ящик стол и т. д.Обсуждаются ширина и высота коробки. в главе о визуальном форматировании детали модели.

Стиль фона для областей содержимого, отступов и границ поле определяется свойством ‘background’ генерирующий элемент. Фон полей всегда прозрачен.

В этом примере показано, как поля, отступы и границы взаимодействовать. Пример HTML-документа:


  <ГОЛОВА>
     Примеры полей, отступов и границ 
    
  
  <ТЕЛО>
    
  • Первый элемент списка
  • Второй элемент списка немного длиннее, чтобы проиллюстрировать упаковку.

приводит к дереву документов с (среди других отношений) элемент UL, который имеет два LI дети.

Первая из следующих диаграмм иллюстрирует, что этот пример будет производить. Второй иллюстрирует взаимосвязь между поля, отступы и границы элементов UL и его дочерние элементы LI. (Изображение не масштабировано.)

Обратите внимание, что:

  • Ширина содержимого для каждого блока LI равна рассчитывается сверху вниз; содержащий блок для каждого блока LI устанавливается элементом UL.
  • Высота поля поля каждого блока LI зависит от высоты его содержимого, плюс верх и низ отступы, границы и поля. Обратите внимание, что вертикальные поля между Ящики LI рушатся.
  • Правое заполнение полей LI было установлено на нулевую ширину (свойство padding). В Эффект очевиден на второй иллюстрации.
  • Поля полей LI прозрачны — поля всегда прозрачный — цвет фона (желтый) отступов UL и через них просвечиваются области содержания.
  • Второй элемент LI определяет пунктирную границу ( свойство ‘border-style’).

Свойства поля определяют ширину области поля поля.Сокращенное свойство ‘margin’ устанавливает поля для всех четырех сторон, в то время как другие свойства полей устанавливаются только их соответствующая сторона. Эти свойства применяются ко всем элементам, но вертикальные поля не повлияют на незамещенные встроенные элементы.

Свойства, определенные в этом разделе, относятся к <ширина-границы> тип значения, который может принимать одно из следующих значений:

Задает фиксированную ширину.
<процент>
Процент рассчитывается относительно ширины сгенерированного блока содержащий блок.Обратите внимание, что это верно и для полей «верхняя граница» и «нижняя граница». Если ширина содержащего блока зависит от этого элемента, то результирующий макет не определен в CSS 2.1.
авто
См. Раздел о расчете ширины и поля для поведения.

Отрицательные значения для свойств полей допустимы, но могут быть ограничения, зависящие от реализации.

‘верхнее поле’ , ‘нижнее поле’
Значение: <ширина-маржи> | наследовать
Начальный: 0
Применимо к: всем элементам, кроме элементов с табличным отображением типы, отличные от table-caption, table и inline-table
Унаследовано: нет
Проценты: относятся к ширине содержащего блока
Медиа: визуальный
Вычисленное значение: указанный процент или абсолютная длина

Эти свойства не влияют на незамещенные встроенные элементы.

‘margin-right’ , ‘margin-left’
Значение: <ширина-маржи> | наследовать
Начальный: 0
Применимо к: всем элементам, кроме элементов с табличным отображением типы, отличные от table-caption, table и inline-table
Унаследовано: нет
Проценты: относятся к ширине содержащего блока
Медиа: визуальный
Вычисленное значение: указанный процент или абсолютная длина

Эти свойства устанавливают верхнее, правое, нижнее и левое поле коробка.

Примеры:

h2 {margin-top: 2em}
 
‘маржа’
Значение: <ширина-маржи> {1,4} | наследовать
Начальное: см. Отдельные свойства
Применимо к: всем элементам, кроме элементов с табличным отображением типы, отличные от table-caption, table и inline-table
Унаследовано: нет
Проценты: относятся к ширине содержащего блока
Медиа: визуальный
Расчетное значение: См. Отдельные свойства

Свойство «маржа» сокращенное свойство для установки ‘margin-top’, ‘margin-right’, ‘margin-bottom’ и ‘margin-left’ в одном месте в таблица стилей.

Если есть только одно значение компонента, оно применяется ко всем стороны. Если есть два значения, верхнее и нижнее поля установлены на первое значение, а правое и левое поля равны установить на второй. Если есть три значения, верхнее установлен на первое значение, левый и правый установлены на второй, а нижний установлен на третий. Если есть четыре значения, они применяются к верхнему, правому, нижнему и левому, соответственно.

Примеры:

body {margin: 2em} / * все поля установлены на 2em * /
body {margin: 1em 2em} / * сверху и снизу = 1em, справа и слева = 2em * /
body {margin: 1em 2em 3em} / * сверху = 1em, справа = 2em, снизу = 3em, слева = 2em * /
 

Последнее правило в приведенном выше примере эквивалентно примеру ниже:

body {
  маржа сверху: 1em;
  поле справа: 2em;
  нижнее поле: 3em;
  маржа слева: 2em; / * скопировано с противоположной стороны (справа) * /
}
 

8.3.1 Сворачивающиеся поля

В CSS — смежные поля двух или более блоков (которые могут или могут не быть братьями и сестрами) могут объединяться в единое поле. Маржа которые сочетаются таким образом, говорят, что коллапс , а результирующая комбинированная маржа называется свернутой маржей .

Обрушение смежных вертикальных полей, за исключением:

  • Поля прямоугольника корневого элемента не сжимаются.
  • Если верхнее и нижнее поля элемента с зазором соприкасаются, его поля схлопываются с прилегающими полями следующих братьев и сестер но полученное поле не сжимается с нижним полем родительского блока.

Горизонтальные поля никогда не сжимаются.

Два поля граничат с тогда и только тогда, когда:

  • оба принадлежат входным блокам уровня блока, которые участвовать в том же контексте форматирования блока
  • без линий, без зазоров, без отступов и без границ их (обратите внимание, что определенная линия нулевой высоты коробки (см. 9.4.2) игнорируются для этой цели.)
  • оба принадлежат смежным по вертикали краям коробки, т.е. образуют одну из следующие пары:
    • верхнее поле блока и верхнее поле его первого дочернего элемента в потоке
    • нижнее поле поля и верхнее поле его следующего входящего потока следующий брат
    • нижнее поле последнего входящего дочернего элемента и нижнее поле его родительский, если родитель имеет «автоматически» вычисленную высоту
    • верхнее и нижнее поля коробки, которая не устанавливает новый контекст форматирования блока и имеет нулевое вычисленное значение ‘min-height’, zero или ‘auto’ вычисленная «высота», и нет притекающие дети

Свернутая маржа считается прилегающей к другой марже, если таковая имеется его составляющих полей примыкает к этому краю.

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

Примечание приведенные выше правила подразумевают, что:

  • Поля между плавающим ящиком и любой другой ящик не разрушается (даже между поплавком и его приточные дети).
  • Поля элементов, которые устанавливают новые контексты форматирования блоков (например, поплавки и элементы с «переполнением», отличным от «видимого») делают не рухнуть со своими втекающими детьми.
  • Поля абсолютно позиционированного ящики не разрушаются (даже со своими дочерними элементами).
  • Поля блоков inline-block не сжимаются (даже с их притекающих детей).
  • Нижнее поле элемента уровня входящего блока всегда схлопывается с верхним полем следующего уровня входящего блока брат или сестра, если у этого брата нет разрешения.
  • Верхняя граница впускного блочного элемента сжимается вместе с верхнее поле первого дочернего элемента на уровне блока, если элемент не имеет верхняя граница, без верхнего отступа и у дочернего элемента нет зазора.
  • Нижнее поле прямоугольного блока в потоке с «высотой», равной «авто», и «минимальной высотой», равным нулю, схлопывается с нижним полем его последнего дочернего дочернего элемента на уровне блока, если поле не имеет нижнего отступа и нижнего края, а нижний край дочернего элемента поле не сжимается с верхним полем с зазором.
  • Собственные поля блока схлопываются, если свойство min-height равно нулю, и у него нет ни верхней, ни нижней границы, ни верхнего или нижнего отступа, и имеет «высоту» 0 или ‘auto’, и он не содержит строки, а все его приточные детские поля (если есть) обрушиваются.

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

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

  • Если поля элемента свернуты вместе с верхом его родительского элемента margin, верхняя граница поля определяется как такая же, как родители.
  • В противном случае либо родительский элемент не участвует в поле схлопывается, или только нижнее поле родителя участвует. Положение верхнего края границы элемента такое же как было бы, если бы элемент имел ненулевую нижнюю границу.

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

Свойства заполнения определяют ширину области заполнения поля. Сокращенное свойство ‘padding’ устанавливает padding для всех четырех сторон, в то время как другие свойства padding устанавливают только их соответствующая сторона.

Свойства, определенные в этом разделе, относятся к тип значения, который может принимать одно из следующих значений:

Задает фиксированную ширину.
<процент>
Процент рассчитывается с помощью относительно ширины сгенерированного содержащего блока блока, даже для ‘padding-top’ и ‘padding-bottom’. Если ширина содержащего блока зависит от этого элемента, то результирующий макет не определен в CSS 2.1.

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

Эти свойства устанавливают верхнее, правое, нижнее и левое заполнение коробка.

Примеры:

цитата {padding-top: 0.3em}
 
набивка
Значение: {1,4} | наследовать
Начальное: см. Отдельные свойства
Применимо к: всем элементам, кроме table-row-group, table-header-group, table-footer-group, table-row, table-column-group и table-column
Унаследовано: нет
Проценты: относятся к ширине содержащего блока
Медиа: визуальный
Расчетное значение: См. Отдельные свойства

Свойство padding — это сокращенное свойство для установки ‘padding-top’, ‘padding-right’, ‘padding-bottom’ и ‘padding-left’ в одном месте в таблице стилей.

Если есть только одно значение компонента, оно применяется ко всем стороны. Если есть два значения, верхнее и нижнее отступы установлены на первое значение, а правое и левое отступы установить на второй. Если есть три значения, верхнее установлен на первое значение, левый и правый установлены на второй, а нижний установлен на третий. Если есть четыре значения, они применяются к верхнему, правому, нижнему и левому, соответственно.

Цвет поверхности или изображение области заполнения задается через свойство background:

Свойства границы определяют ширину, цвет и стиль области границы поля.Эти свойства применяются ко всем элементам.

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

8.5.1 Ширина границы: ‘border-top-width’, ‘border-right-width’, ‘border-bottom-width’, ‘border-left-width’ и ‘border-width’

Свойства ширины границы определяют ширину области границы. Свойства определенные в этом разделе относятся к <ширина-границы> тип значения, который может принимать одно из следующих значений:

тонкий
Тонкая кайма.
средний
Средняя граница.
толстый
Толстая кайма.
<длина>
Толщина границы имеет явное значение. Явный ширина границы не может быть отрицательной.

Интерпретация первых трех значений зависит от пользователя агент. Однако должны соблюдаться следующие отношения:

«тонкий» <= «средний» <= «толстый».

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

Эти свойства устанавливают ширину верхней, правой, нижней, и левая граница поля.

‘ширина границы’
Значение: <ширина-границы> {1,4} | наследовать
Начальное: см. Отдельные свойства
Применимо к: всем элементам
Унаследовано: нет
В процентах: Н / Д
Медиа: визуальный
Расчетное значение: См. Отдельные свойства

Это свойство является сокращенным свойством для установки ‘ширина-границы’, ‘ширина-правая-граница’, ‘ширина нижней границы’, и ‘border-left-width’ в то же место в таблице стилей.

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

Пример (ы):

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

h2 {border-width: thin} / * тонкий тонкий тонкий тонкий * /
h2 {border-width: thin толстый} / * тонкий толстый тонкий толстый * /
h2 {border-width: thin толстый средний} / * тонкий толстый средний толстый * /
 

8.

5.2 Цвет границы: ‘цвет верхней границы’, ‘граница-правый-цвет’, ‘цвет нижней границы’, ‘border-left-color’ и ‘цвет границы’

Свойства цвета границы определяют цвет границы рамки.

‘цвет рамки’
Значение: [<цвет> | прозрачный] {1,4} | наследовать
Начальное: см. Отдельные свойства
Применимо к: всем элементам
Унаследовано: нет
В процентах: Н / Д
Медиа: визуальный
Расчетное значение: См. Отдельные свойства

Цвет границы свойство устанавливает цвет четырех границ. Значения имеют следующие значения:

<цвет>
Задает значение цвета.
прозрачный
Граница прозрачная (хотя может иметь ширину).

Цвет границы свойство может иметь от одного до четырех значений компонентов, а значения устанавливаются с разных сторон, как для ‘border-width’.

Если цвет границы элемента не указан со свойством границы пользовательские агенты должны использовать значение свойства color элемента как вычисленное значение для цвета границы.

Пример (ы):

В этом примере граница будет сплошной черной линией.

п {
  черный цвет;
  фон: белый;
  граница: сплошная;
}
 

8.5.3 Стиль границы: ‘border-top-style’, ‘border-right-style’, ‘border-bottom-style’, ‘border-left-style’ и ‘border-style’

Свойства стиля границы определяют стиль линии прямоугольника. граница (сплошная, двойная, пунктирная и т. д.). Свойства, определенные в этом раздел относится к <стиль границы> тип значения, который может принимать одно из следующих значений:

нет
Без границы; вычисленная ширина границы равна нулю.
скрыто
То же, что «нет», за исключением пограничного конфликта разрешение для элементов таблицы.
с точками
Граница представляет собой серию точек.
штриховые
Граница представляет собой серию коротких отрезков линии.
цельный
Граница представляет собой одинарный отрезок линии.
двойной
Граница — две сплошные линии. Сумма две линии и пространство между ними равно значению ширины границы.
паз
Бордюр выглядит как резной в холст.
ребро
Противоположность «канавке»: граница выглядит так, будто выходит из холста.
вставка
Граница делает коробку похожей на он был встроен в холст.
начальный
Противоположность «вставке»: граница делает коробку похожей на это выходило из холста.

Все границы рисуются поверх фона рамки. Цвет границы, нарисованные для значений ‘Groove’, ‘Rridge’, ‘inset’ и ‘outset’ зависит от границы элемента свойства цвета, но UA могут выбрать свой собственный алгоритм для рассчитать фактические используемые цвета. Например, если цвет границы имеет значение «серебро», тогда UA может использовать градиент цветов из от белого до темно-серого, чтобы обозначить наклонную границу.

«стиль границы»
Значение: <стиль границы> {1,4} | наследовать
Начальное: см. Отдельные свойства
Применимо к: всем элементам
Унаследовано: нет
В процентах: Н / Д
Медиа: визуальный
Расчетное значение: См. Отдельные свойства

Бордюрный стиль свойство устанавливает стиль четырех границ.Может иметь от одного до четыре значения компонентов, а значения установлены с разных сторон, как для ‘border-width’ выше.

Примеры:

# xy34 {border-style: сплошная точка}
 

В приведенном выше примере горизонтальные границы будут «сплошными» и вертикальные границы будут «пунктирными».

Так как начальное значение стилей границ — «none», без границ будет виден, если не установлен стиль границы.

8.5.4 Сокращенные свойства границ: ‘граница-верх’, ‘граница-правая’, ‘нижняя граница’, ‘граница-левая’ и ‘border’

Это сокращенное свойство для установки ширины, стиля и цвет верхней, правой, нижней и левой границы поля.

Примеры:

h2 {border-bottom: толстый сплошной красный}
 

Приведенное выше правило устанавливает ширину, стиль и цвет границы. ниже элемента h2. Пропущенные значения установлены на их начальные значения. поскольку следующее правило не определяет цвет границы, граница будет иметь цвет, указанный в свойство ‘color’:

h2 {border-bottom: толстый сплошной}
 

Свойство «граница» — это сокращенное свойство для установки одинаковой ширины, цвета и стиля для все четыре границы коробки.В отличие от сокращенных свойств margin и padding, свойство border не может устанавливать разные ценности на четырех границах. Для этого одна или несколько других границ свойства должны использоваться.

Пример (ы):

Например, первое правило ниже: эквивалентен набору из четырех правил, показанных после него:

p {граница: сплошной красный}
п {
  border-top: сплошной красный;
  граница справа: сплошной красный;
  нижняя граница: сплошной красный;
  border-left: сплошной красный
}
 

Так как в некоторой степени свойства перекрывают друг друга функциональность, порядок, в котором указаны правила, важный.

Пример (ы):

Рассмотрим этот пример:

blockquote {
  граница: сплошной красный;
  граница слева: двойной;
  черный цвет;
}
 

В приведенном выше примере цвет левой границы черный, в то время как другие границы красные. Это связано с тем, что ‘border-left’ устанавливает ширина, стиль и цвет. Поскольку значение цвета не задается свойство ‘border-left’, это будет взят из «цвет» свойство. Тот факт, что свойство ‘color’ устанавливается после свойства ‘border-left’, не соответствующие.

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

Когда свойство элемента direction — ltr, крайний левый сгенерированный блок первого строчного блока, в котором элемент имеет левое поле, левую границу и левое заполнение, а крайний правый сгенерированный блок последнего строчного блока, в котором элемент появляется, имеет правый отступ, правую границу и правое поле.

Когда свойство элемента direction — rtl, крайний правый сгенерированный блок первого строчного блока, в котором элемент имеет правый отступ, правую границу и правое поле, а крайний левый сгенерированный блок последнего строчного блока, в котором элемент появляется, имеет левое поле, левую границу и левый отступ.


Развернуть Свернуть Button.html · GitHub

Развернуть Свернуть Button.html · GitHub

Мгновенно делитесь кодом, заметками и фрагментами.

<сценарий>
var myApp = angular.module (‘myApp’, [‘ui.bootstrap’]);
функция CollapseDemoCtrl ($ scope) {
$ размах.isCollapsed = false;
}


Некоторое содержание

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

Свертывание начальной загрузки и аккордеон

Bootstrap Collapse — полезный компонент, который помогает скрыть или показать «область» на странице, пользователи могут активно расширять «область», чтобы просмотреть в ней содержимое, или скрыть ее для экономии места.

Свернуть


    Что такое Lorem Ipsum?

Lorem Ipsum - это просто фиктивный текст в полиграфической и наборной индустрии.Lorem Ipsum был стандартным фиктивным текстом в отрасли с 1500-х годов ...
Давно установлено, что читатель будет отвлекаться на читаемое содержимое страницы при взгляде на ее макет . ..

Взгляните на полный пример:

collapse-example.html


   
      
       Пример раскрывающегося списка 
      
   
   
      
Пример свертывания
Что такое Lorem Ipsum?
Lorem Ipsum - это просто фиктивный текст в полиграфической и наборной индустрии. Lorem Ipsum был стандартным фиктивным текстом в отрасли с 1500-х годов ...


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

Свернуть включает два компонента: кнопку (или Ссылка ) и цель . Когда пользователи нажимают кнопку , цель скрывается или отображается. Bootstrap использует jQuery для обработки этого действия.

  1. Первоначально класс .collapse применяется к цели, которая в настоящее время скрыта.
  2. Пользователи нажимают кнопку , класс .collapsing применяется к цели. Вы обнаружите, что цель расширена.
  3. Наконец, когда контент был отображен полностью, целью будет . collapse.show класс

Вы можете указать несколько целей для кнопки (или Link ) с помощью jQuery Selector. Это означает, что когда пользователи нажимают кнопку , многие цели будут скрыты или отображены.

Многоцелевой

Показать / скрыть цель 1

Lorem Ipsum - это просто фиктивный текст полиграфической и наборной индустрии ...
Anim pariatur cliche reduhenderit, enim eiusmod high life accusamus terry richardson ad squid . ...

Accordion — это интерфейсный компонент.Он состоит из множества вертикально уложенных «.card» . Каждую .card можно развернуть или свернуть в зависимости от конфигурации.

Это иллюстрация структуры Accordion :

accordion-example.html


   
      
       Пример аккордеона 
      
   
   
      
Пример аккордеона
JavaScript - это язык сценариев или программирования, который позволяет реализовать сложные вещи на веб-страницах. .
CSS означает каскадные таблицы стилей.CSS описывает, как элементы HTML должны отображаться на экране, бумага или другие носители ..
Bootstrap - это бесплатная интерфейсная среда для более быстрой и простой веб-разработки. Bootstrap включает шаблоны дизайна на основе HTML и CSS для типографики ...

Свернуть пустое пространство

Конфигурация

Фильтр «Свернуть пробел» включается, если указать:

Apache:
 ModPagespeedEnableFilters collapse_whitespace 
Nginx:
 pagepeed EnableFilters collapse_whitespace; 

в файле конфигурации.

Описание

Фильтр «Свернуть пробел» уменьшает количество байтов, передаваемых в файле HTML. удалив ненужные пробелы.

Операция

Фильтр уменьшает размер передаваемых файлов HTML за счет замены смежных пробел с одним символом пробела. Потому что HTML часто отформатирован с дополнительными пробелами для удобства чтения или как случайный эффект шаблонов, используемых для его создания, этот метод может уменьшить количество байтов, необходимых для передачи ресурсов HTML.

Например, если документ HTML выглядит так:



  
     Привет, мир! 
    
  

  
    Привет мир!
    
      Здравствуйте,
        Мир!
    

Затем PageSpeed ​​перепишет его в:



 Привет, мир! 



Привет мир!
      Здравствуйте,
        Мир!

Пример

Вы можете увидеть фильтр в действии на www.modpagespeed.com на этом пример.

Требования

Фильтр «Свернуть пробелы» не изменяет появляющиеся пробелы. в пределах

 ,