Dimmer
Dimmer
디머(Dimmer)는 요소나 페이지 전체를 어둡게 만들어 주목을 집중시키는 컴포넌트예요. 콘텐츠를 표시할 수도 있고, 페이지 고정형으로도 만들 수 있어요.
출처: 문서
본문
Types
Dimmer
단순 디머는 콘텐츠를 표시하지 않아요.
// left button
$('.segment').dimmer('show');
// right button
$('.segment').dimmer('hide');
Overlayable Section
Overlayable Section
Content Dimmer
디머는 콘텐츠를 표시할 수 있어요.
dimmers with content now only need a single wrapping content container.
Overlayable Section
Dimmed Message!
콘텐츠가 있는 디머는 이제 하나의 감싸는 content 컨테이너만 필요해요.
Page Dimmer
디머는 페이지에 고정되도록 서식화할 수 있어요.
Hello
Show
States
Active
활성 디머는 부모 컨테이너를 어둡게 만들어요.
Disabled
비활성화된 디머는 활성화될 수 없어요.
Variations
Dimmable
Blurring
dimmable 요소는 콘텐츠를 흐리게(blur) 만들 수 있어요.
Alignment
Vertical Alignment
디머는 콘텐츠를 위쪽 또는 아래쪽으로 정렬할 수 있어요.
Title
Add
View
Title
Add
View
Dimmer
Simple Dimmer
디머는 Javascript 없이도 제어할 수 있어요.
Having any parent element receive the class ui dimmable dimmed will trigger the dimmer to display.
부모 요소가 ui dimmable dimmed 클래스를 받으면 디머가 표시되도록 트리거돼요.
Inverted Dimmer
디머는 색상이 반전되도록 서식화할 수 있어요.
Dimmer Shades
디머는 추가 클래스 medium, light, very light를 사용해 배경 음영의 깊이를 다르게 서식화할 수 있어요.
Also works in combination with inverted
inverted와 조합해서도 동작해요.
Partially Dimmer
디머는 덮어야 할 전체 영역이 아니라 콘텐츠의 전체 높이로 제한된 부분만 표시할 수 있어요. 예를 들어 top dimmer, center dimmer, bottom dimmer를 사용해 어떤 요소의 캡션으로 쓸 수 있어요.
Look!
ui top dimmer
Look!
ui center dimmer
Look!
ui bottom dimmer
Works also very well with transitions fade up or fade down
$('.partially.example .dimmer')
.dimmer({
transition: 'fade up',
on: 'hover'
})
;
Look!
ui bottom dimmer
Look!
ui center dimmer
fade up이나 fade down 트랜지션과도 아주 잘 어울려요.
Examples
Dimmer Events
디머는 이벤트에서 표시 여부 변경을 트리거할 수 있어요.
$('.event.example .image')
.dimmer({
on: 'hover'
})
;
Title
Add
View
Add
View
Loaders inside Dimmers
디머 안의 로더는 자동으로 어울리는 적절한 색상을 사용해요.
Loading
디머 안의 로더를 javascript를 통해 커스터마이즈할 수 있어요.
$('.dimmerloader.example .image')
.dimmer({
displayLoader: true,
loaderVariation: 'slow orange medium elastic',
loaderText: 'Wait a second, please...'
})
.dimmer('show')
;
Usage
Display
섹션에 .dimmer('show')를 호출하거나 디머 자체에 호출해서 디머를 표시할 수 있어요. dimmable 섹션을 어둡게 하면 디머가 자동으로 생성돼요.
// these two are the same
$('.ui.dimmable')
.dimmer('show')
;
$('.ui.dimmable .dimmer')
.dimmer('show')
;
이 둘은 같아요.
Creating Dimmers
요소 안에 디머가 없으면 처음 사용 시 자동으로 생성돼요.
$('h4')
.dimmer('toggle')
;
Showing a Specific Dimmer
요소 안에 디머가 이미 있다면, dimmable 섹션이나 디머 자체에 행동을 호출할 수 있어요.
// If a dimmer exists on a page, you can make it appear by calling it directly
$('.page.dimmer:first')
.dimmer('toggle')
;
페이지에 디머가 존재하면 직접 호출해서 나타나게 할 수 있어요.
Behavior
다음 모든 행동은 다음 구문을 사용해 호출할 수 있어요:
행동은 원래 디머를 초기화했던 것과 같은 콘텐츠에서 호출해야 해요. dimmable 컨텍스트든 ui dimmer든요.
.ui.your.element')
.dimmer('behavior name', argumentOne, argumentTwo)
;
| 행동 | 설명 |
|---|---|
add content (element) |
주어진 요소를 DOM에서 분리하고 디머 안에 다시 연결해요. |
show |
디머를 보여줘요. |
hide |
디머를 숨겨요. |
toggle |
현재 디머의 표시 여부를 토글해요. |
set opacity(opacity) |
디머의 투명도를 변경해요. |
create |
dimmable 컨텍스트에 새 디머를 만들어요. |
get duration |
현재 표시 여부에 따라 show 또는 hide 이벤트의 현재 시간을 반환해요. |
get dimmer |
디머의 DOM 요소를 반환해요. |
has dimmer |
현재 dimmable이 디머를 갖고 있는지 반환해요. |
is active |
섹션의 디머가 활성인지 여부예요. |
is animating |
디머가 애니메이션 중인지 여부예요. |
is dimmer |
현재 요소가 디머인지 여부예요. |
is dimmable |
현재 요소가 dimmable 섹션인지 여부예요. |
is disabled |
디머가 비활성화되었는지 여부예요. |
is enabled |
디머가 비활성화되지 않았는지 여부예요. |
is page |
dimmable 섹션이 body인지 여부예요. |
is page dimmer |
디머가 페이지 디머인지 여부예요. |
set active |
페이지 디머를 활성으로 설정해요. |
set dimmable |
요소를 dimmable 섹션으로 설정해요. |
set dimmed |
dimmable 섹션을 dimmed로 설정해요. |
set page dimmer |
현재 디머를 페이지 디머로 설정해요. |
set disabled |
디머를 비활성화로 설정해요. |
destroy |
인스턴스를 파괴하고 모든 이벤트를 제거해요. |
Dimmer
Behavior
| 이름 | 기본값 | 설명 |
|---|---|---|
useFlex |
true |
디머가 flex를 사용할지 레거시 포지셔닝을 사용할지 여부예요. |
variation |
false |
디머를 생성할 때 추가할 변형을 지정해요 (inverted처럼). |
dimmerName |
false |
dimmable 컨텍스트에서 디머를 초기화한다면 dimmerName을 사용해 그 컨텍스트의 여러 디머를 구분할 수 있어요. |
closable |
auto |
디머를 클릭하면 디머를 숨길지 여부예요. (auto가 기본이며, settings.on이 hover가 아닐 때만 닫을 수 있어요). |
on |
false |
hover 또는 click으로 설정해 dimmable 이벤트에서 디머를 표시/숨길 수 있어요. |
useCSS |
true |
CSS 트랜지션을 사용해 디머를 어둡게 할지 여부예요. |
transition |
fade |
메뉴 애니메이션에 사용할 명명된 트랜지션이에요. fade와 slide down은 ui transitions을 포함하지 않아도 사용 가능해요. 또는 객체를 제공해 hide/show 트랜지션과 hide/show 시간을 개별 값으로 설정할 수 있어요. |
duration |
{ show : 500, hide : 500 } |
어두워지는 애니메이션 시간이에요. 정수를 사용하면 그 값이 show와 hide 애니메이션 모두에 적용돼요. transition 설정을 통해 개별 hide/show 시간을 제공하면 완전히 무시돼요. |
displayLoader |
false |
디머 안에 커스텀 로더를 생성할지 여부예요. |
loaderVariation |
'' |
로더를 스타일링할 추가 css 클래스예요. Loader 참고. |
loaderText |
false |
문자열이 주어지면 로더 애니메이션 아이콘 아래에 표시돼요. |
Callbacks
| 콜백 | 컨텍스트 | 설명 |
|---|---|---|
onShow |
dimmable | 디머가 표시되기 전의 콜백이에요. 이 콜백에서 false를 반환하면 디머가 표시되지 않도록 취소해요. |
onHide |
dimmable | 디머가 숨겨지기 전의 콜백이에요. 이 콜백에서 false를 반환하면 디머가 숨겨지지 않도록 취소해요. |
onChange |
dimmable | 요소가 표시되거나 숨겨질 때의 콜백이에요. |
onVisible |
dimmable | 디머가 완전히 표시될 때 요소의 콜백이에요. |
onHidden |
dimmable | 디머가 완전히 숨겨질 때 요소의 콜백이에요. |
Module
이 설정들은 모든 모듈에 공통이며, 컴포넌트가 콘텐츠를 DOM 속성에 연결하는 방식과 모듈의 디버깅 설정을 정의해요.
| 이름 | 기본값 | 설명 |
|---|---|---|
namespace |
dimmer |
이벤트 네임스페이스예요. |
selector |
{ dimmable : '.dimmable', dimmer : '.ui.dimmer', content : '.ui.dimmer > .content, .ui.dimmer > .content > .center' } |
모듈이 사용하는 선택자를 담은 객체예요. |
template |
{ dimmer: function() { return $('').attr('class', 'ui dimmer'); } } |
디머 콘텐츠를 생성하는 데 사용되는 템플릿이에요. |
className |
{ active : 'active', dimmable : 'dimmable', dimmed : 'dimmed', disabled : 'disabled', pageDimmer : 'page', hide : 'hide', show : 'show', transition : 'transition' } |
상태에 스타일을 연결하는 데 사용되는 클래스 이름이에요. |
name |
Dimmer |
디버그 로그에 사용되는 이름이에요. |
silent |
false |
모든 콘솔 출력을 조용히 만들어요. |
debug |
false |
콘솔에 표준 디버그 출력을 제공해요. |
performance |
true |
콘솔에 표준 디버그 출력을 제공해요. |
verbose |
false |
콘솔에 보조 디버그 출력을 제공해요. |
errors |
{ method : 'The method you called is not defined.' } |
콘솔에 표시되는 오류 메시지예요. |
더 알아보기 (Learn more)
디머로 요소에 주목을 집중시킬 수 있어요. 로딩 중인 화면은 Loader를, 전체 화면 팝업은 Modal을 함께 살펴보세요.