-
Notifications
You must be signed in to change notification settings - Fork 0
Card
O componente Card
tem o comportamento de um Box Model
que é utilizado para servir de content para outros componentes como o Alert, Menu de navegação etc..
O componente pode ser apenas estilizado com borda ou pode acrescentar a sombra Drop Shadow
.
No markup HTML temos como padrão a colocação da classe ch-card
que seria o wrapper que engloba o Header
e o Content
.
No exemplo abaixo temos um markup HTML
do Card
sendo usado para um Menu de navegação
.
<div class="ch-card ch-card--interactive ch-paddingless">
<header class="ch-card-header">
<h3>Hello World</h3>
</header>
<div class="ch-card-content ch-paddingless">
<ul class="ch-menu">
<li class="ch-menu-submenu is-open">
<a href="#" class="ch-menu-item has-icon has-iconRight is-active">
<i class="ch-icon fal fa-chart-line"></i>
<span class="ch-menu-item-label">Item 1</span>
<i class="ch-menu-item-arrow ch-icon fal fa-chevron-right"></i>
</a>
<ul class="ch-menu">
<li class="ch-menu-item has-iconRight">
<span class="ch-menu-item-label">Item 2</span>
<i class="ch-icon fal fa-chart-line"></i>
</li>
<li class="ch-menu-item is-active">
<span class="ch-menu-item-label">Item 3</span>
</li>
<li class="ch-menu-item">
<span class="ch-menu-item-label">Item 4</span>
</li>
</ul>
</li>
<li class="ch-menu-item has-iconRight">
<span class="ch-menu-item-label">Item 2</span>
<i class="ch-icon fal fa-chart-line"></i>
</li>
<li class="ch-menu-item">
<span class="ch-menu-item-label">Item 3</span>
</li>
</ul>
</div>
</div>
Caso seja necessário a utilização da sombra
envolvendo o box, usamos a classe ch-card passando seu modificador ex: ch-card--interactive.
Temos a classe ch-paddingless
que é responsável por zerar o padding
dos elementos do Box
. Para a sua ultização apenas a coloque da div pai
ex: ch-card ch-paddingless
Nesse código é mostrado parte à parte da composição do componente Card
// 1. Base
@extend %ch-card;
// 2. Header
&-header {
@extend %ch-card-header;
}
// 4. Paddingless composition
&.ch-paddingless {
> .ch-card-header,
> .ch-card-content,
> .ch-card-footer {
padding-right: ch-get-space(m);
padding-left: ch-get-space(m);
&:only-child {
padding-top: ch-get-space(m);
padding-bottom: ch-get-space(m);
}
&:last-child {
padding-bottom: ch-get-space(m);
}
&:first-child {
padding-top: ch-get-space(m);
}
}
}
// 5. Interactive variation
&--interactive {
@include ch-shadow;
cursor: pointer;
&:focus:hover,
&:hover,
&:focus {
@include ch-shadow(3);
}
}
// 6. Active state
&.is-active {
border-color: ch-get-color(primary);
}
}
Essa implementação está localizada dentro da aplicação Chameleon no seguinte caminho: chameleon/sass/abstracts/components/card;
@import '../../abstracts/card';
@import '../../abstracts/colors';
@import '../../abstracts/layers';
@import '../../abstracts/space';
.ch-card {
// 1. Base
@extend %ch-card;
// 2. Header
&-header {
@extend %ch-card-header;
}
// 3. Content
&-content {
@extend %ch-card-content;
}
// 4. Paddingless composition
&.ch-paddingless {
> .ch-card-header,
> .ch-card-content,
> .ch-card-footer {
padding-right: ch-get-space(m);
padding-left: ch-get-space(m);
&:only-child {
padding-top: ch-get-space(m);
padding-bottom: ch-get-space(m);
}
&:last-child {
padding-bottom: ch-get-space(m);
}
&:first-child {
padding-top: ch-get-space(m);
}
}
}
// 5. Interactive variation
&--interactive {
@include ch-shadow;
cursor: pointer;
&:focus:hover,
&:hover,
&:focus {
@include ch-shadow(3);
}
}
// 6. Active state
&.is-active {
border-color: ch-get-color(primary);
}
}
- [Sobre o Chameleon]
- [Instalação]
- [Suporte]
- [Como contribuir]
- [Arquitetura e padrões de desenvolvimento]
- Geral
- Responsividade
- [Espaçamentos]
- [Cores]
- [Tipografia]
- [Bordas]
- [Box padrão]
- [Tamanhos comuns]
- [Camadas]
- [Tokens]
- [Reboot]
- [Helpers]
- Componentes
- [Alert]
- [Avatar]
- [Breadcrumb]
- [Button]
- [Card]
- [Checkbox]
- [Dview]
- [Field]
- [Icon]
- [Input]
- [Menu]
- [Select]
- [Table]
- [Title]
- [Toggle]
- Layouts
- [Actions]
- [Paddingless]
- [Grid]
- [Space inline]
- [Space inline group]
- [Space inset]
- [Space inset group]
- [Space stack]
- [Space stack group]
- [Template]