개인용 Web Component 입니다.
퍼블리싱 빠르고 효율적으로 하기 위해 작성하였습니다.
BEM CSS 방법론을 사용합니다.
부트스트랩과 메테리얼 CSS를 참고했습니다.
IE는 지원하지 않습니다.

# Doctype

HTML5 DOCTYPE을 사용합니다. SEO를 위해 mata 태그도 작성합니다.


Coding Guide



















 
 
 
 


# CSS

BEM(Block__Element--Modifier) 방법론을 사용합니다.

# Comment

개발 요소나 영역을 나누는 부분에 사용합니다.






/**
 * 합계 구하기
 * @param {number} x - 더할 숫자 1
 * @param {number} y - 더할 숫자 2
 * @return {number} x + y 의 합계
*/
function sum(x, y) {
	reutn x + y;
}

# Webfont

IE지원 여부에 따라 다르게 선언합니다.

구IE 지원

@font-face {
	font-family: 'Noto Sans KR';
	src:url(./common/css/fonts/NotoSans-Light.eot);  /* IE 8 이하 */
	src:
	    local('☺'), /* IE 8 이하에서 다운로드 방지 */
        url(./common/css/fonts/NotoSans-Light.woff2) format('woff2'), /* Chrome, Firefox, Safari, Opera */
        url(./common/css/fonts/NotoSans-Light.woff) format('woff'); /* IE 9+, Chrome, Firefox, Safari, Opera */
}

IE11+, 모던 브라우저 지원

@font-face {
	font-family: 'Noto Sans KR';
	font-weight:400;
	src:
        local(※), /* IE fix */
        url(./fonts/NotoSans-Regular.woff2) format('woff2'),
        url(./fonts/NotoSans-Regular.woff) format('woff');
}

# Typography

자주 사용되는 제목과 텍스트 영역에 사용합니다.
마진 겹침을 활용합니다.

TITLE sub

SUB TITLE home

Slogan Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Cupiditate libero, magni minima non nostrum rerum?

# Button

기본 모양, 용도별, 크기별로 만듭니다.

기본 모양


	LINK



Link

크기별


	Link



Large Link
Medium Link
Small Link

용도별


	Submit




Submit

모양별


	Submit




Submit

# Icon

스프라이트 이미지를 사용하고,
프로젝트에 따라 svg, png 아이콘을 사용합니다.

Sprite Image

기본 1배수 아이콘








2배수 아이콘(모바일,고해상도)





# Input

block input을 기본으로 사용합니다.




# Select

기본 select 박스를 사용합니다.



# Radio

기본 radio 박스 또는 커스텀 된 radio 버튼을 사용합니다.

# Checkbox

기본 Checkbox 또는 커스텀 된 Checkbox를 사용합니다.

# List

세로형 리스트와 가로형 리스트를 사용합니다.
프로젝트에 따라 float이나 flex를 사용합니다.

flex

  • 치킨
  • 피자
  • 족발
  • 보쌈
  • 치킨
  • 피자
  • 족발
  • 보쌈

float

  • 치킨
  • 피자
  • 족발
  • 보쌈
  • 치킨
  • 피자
  • 족발
  • 보쌈

blit List

  • Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid, quae!
  • Lorem ipsum dolor.
  • Lorem ipsum dolor sit amet.
  • Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid, quae!
  • Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eveniet, placeat?
  • Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ducimus quae quasi recusandae.

# Table

데이터 테이블입니다.
마진이나 패딩, 폰트 등은 디자인에 맞게 정의합니다.

데이터의 정렬은 .center, .left 등의 정렬 클래스를 정의 할 수 있고,
first-child나 nth-child 같은 가상 클래스를 사용할 수도 있습니다.

default

데이터 테이블입니다.
No Name Age Job Location
4 David 23 Designer Seoul
3 Julia 25 Marketer Tokyo
2 Robin 21 Singer New York
1 Bobby 24 Musician Paris

named

데이터 테이블입니다.
No 1
Name Julia
Job Designer
Location Seoul

# Tab

기본 탭메뉴입니다.
일반탭과 아코디언 형태로 사용가능하며,
탭 컨텐츠 영역은 jQuery hide나 addClass 함수를 통해 컨트롤 합니다.
TAB1 Contents..
Lorem ipsum dolor sit amet.
TAB2 Contents..
Lorem ipsum dolor sit.
TAB3 Contents..
Lorem ipsum dolor sit amet, consectetur.
TAB4 Contents..
Lorem ipsum.
$('#tabs1').tab({
	parentElement : '#tabs1', // 상단 탭 요소
	effect : 'tab', // 탭 효과 tab, accordion
	opened : '#tab1' // 기본 오픈 탭
});
tab1 contents..
tab2 contents..
tab3 contents..
tab4 contents..
TAB5 Contents..
Lorem ipsum dolor sit amet.
TAB6 Contents..
Lorem ipsum dolor sit.
TAB7 Contents..
Lorem ipsum dolor sit amet, consectetur.
TAB8 Contents..
Lorem ipsum.

# Slider

swiper 슬라이더 라이브러리를 사용합니다.

const swiper = new Swiper('.swiper', {
	// Autoplay
	autoplay: {
		delay: 3000,
	},

	// In Carousel
	slidesPerView: 1,
	spaceBetween: 10,

	// Direction
	direction : 'horizontal', /* horizontal, vertical */

	// Optional parameters
	loop: true,

	// Free mode
	freeMode : true,

	// If we need pagination
	pagination: {
		el: '.swiper-pagination',
		type : 'bullets' /* fraction, progressbar, custom */
	},

	// Navigation arrows
	navigation: {
		nextEl: '.swiper-button-next',
		prevEl: '.swiper-button-prev',
	},

	// And if we need scrollbar
	scrollbar: {
		el: '.swiper-scrollbar',
	},

	// Etc
	centeredSlides: true,

	on : {
		init : function () {
			console.log('초기화');
		},
		imagesReady : function () {
			console.log('이미지 로드 후 실행');
		},
		slideChange : function () {
			console.log('이동');
		}
	},
});

swiper.slideTo(index, speed, runCallbacks) // 해당 슬라이드로 이동
swiper.slidePrev(index, speed, runCallbacks) // 이전 슬라이드로 이동
swiper.slideNext(index, speed, runCallbacks) // 다음 슬라이드로 이동
swiper.autoplay.start(); // 자동 재생 시작
swiper.autoplay.stop(); // 자동 재생 정지
swiper.destroy() // 슬라이드 제거