다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

52
Modern Web LESS Framework [email protected] facebook.com/yamoo9

description

LESS 프레임워크 활용법에 대한 프레젠테이션 파일입니다. 강의용으로 상세한 설명은 생략되어 있습니다. 수업 진행 시 보충 설명을 위한 교보재.

Transcript of 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Page 1: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Modern Web LESS Framework

ya

moo9@

naver.com

facebo

ok.com

/yamo

o9

Page 2: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

ModernWeb LESSFramework

lesscss.org

Page 3: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Modern webLESS Framework

LESS 프레임워크란?

Page 4: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

LESS FrameworkDynamic Stylesheet Language

CSSCascading Style Sheet

LESSCSS + Dynamic Language

Page 5: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

LESS FrameworkDynamic Stylesheet Language

LESS란? CSS에 Script의 능력을 덧붙여 확장한 언어입니다.

The dynamic stylesheet language.LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions.

변수, 함수, 연산, 중첩, 스코프 등등

Page 6: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

LESS FrameworkDynamic Stylesheet Language

LESS는 클라이언트 또는 서버 환경 모두에서 실행됩니다.

The dynamic stylesheet language.LESS runs on both the client-side (IE6+, Chrome, Safari, Firefox) and server-side, with Node.js and Rhino.

node.js

Page 7: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

...<link rel="stylesheet/less" href="css/styles.less"><script src="js/less.js"></script>...

Page 8: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9
Page 9: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

OverviewLESS Framework

LESS 간단하게 미리보기!

Page 10: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

// LESS@lightCyan: #73cbdc;

#container { color: @lightCyan;}

#footer h2 { color: @lightCyan;}

// 변경된 CSS#container { color: #73cbdc;}

#footer h2 { color: #73cbdc;}

VariablesLESS Overview

@variablesLESS����������� ������������������  변수는����������� ������������������  앞에����������� ������������������  @를����������� ������������������  붙여서����������� ������������������  표기합니다.

Page 11: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

// LESS.coner-round(@radius: 5px) {! -webkit-border-radius: @radius;! -moz-border-radius: @radius;! border-radius: @radius;}

.round {! .coner-round;}.rounder {! .coner-round(10px);}

MixinsLESS Overview

@parameter믹스인은����������� ������������������  클래스����������� ������������������  이름����������� ������������������  형식으로����������� ������������������  선언되며����������� ������������������  

(����������� ������������������  )����������� ������������������  안에����������� ������������������  전달인자를����������� ������������������  받을����������� ������������������  수����������� ������������������  있습니다.

Page 12: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

// 변경된 CSS.round {! -webkit-border-radius: 5px;! -moz-border-radius: 5px;! border-radius: 5px;}

.rounder {! -webkit-border-radius: 10px;! -moz-border-radius: 10px;! border-radius: 10px;}

MixinsLESS Overview

Page 13: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

// LESS#contents {! h2 {! ! font-size: 24px;! ! font-weight: normal;! }! p { ! ! font-size: 12px;! ! a { text-decoration: none;! ! ! &:hover { color: #73cbdc; }! ! }! }}

Nested RulesLESS Overview

Nested����������� ������������������  RulesLESS����������� ������������������  중첩����������� ������������������  작성규칙은����������� ������������������  긴����������� ������������������  이름을����������� ������������������  중복해서

작성하지����������� ������������������  않아도����������� ������������������  되기����������� ������������������  때문에����������� ������������������  효율적입니다.

Page 14: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

// 변경된 CSS#contents h2 { font-size: 24px; font-weight: normal; }#contents p { font-size: 12px; }#contents p a { text-decoration: none;}#contents p a:hover { color: #73cbdc;}

Nested RulesLESS Overview

Page 15: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

// LESS@base-font-size: 12px;@base-font-color: #2e2d2c;

body {! font: @base-font-size/1.5 "나눔 고딕";! color: @base-font-color;}

.article { ! font-size: @base-font-size * 1.2;! border: 1px solid (@base-font-color + #909090);}

OperationLESS Overview

OperationLESS����������� ������������������  에서는����������� ������������������  사칙연산이����������� ������������������  가능합니다.

크기����������� ������������������  및����������� ������������������  색상과����������� ������������������  관련한����������� ������������������  속성에����������� ������������������  적용가능합니다.

Page 16: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

// 변경된 CSSbody {! font: 12px/1.5 "나눔 고딕";! color: #2e2d2c;}

.article { ! font-size: 14.4px;! border: 1px solid #bebdbc;}

Nested RulesLESS Overview

Page 17: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

// LESS@base-font-size: 12px;@base-font-color: #2e2d2c;

body {! font: @base-font-size/1.5 "나눔 고딕";! color: @base-font-color;}

.article { ! font-size: @base-font-size * 1.2;! border: 1px solid lighten(@base-font-color, 15%);}

FunctionLESS Overview

FunctionLESS����������� ������������������  에서는����������� ������������������  함수를����������� ������������������  사용하여����������� ������������������  

값을����������� ������������������  손쉽게����������� ������������������  변경����������� ������������������  가능합니다.

Page 18: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

// 변경된 CSSbody {! font: 12px/1.5 "나눔 고딕";! color: #2e2d2c;}

.article { ! font-size: 14.4px;! border: 1px solid #545454;}

FunctionLESS Overview

Page 19: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

WatchModeLESS Framework

LESS 코드를 실시간으로 변경할 수 있어요!

Page 20: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Watch ModeLESS Overview

less.watch()

#!watch

Page 21: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Why LESS?LESS Framework

왜? LESS를 사용하는 것이 좋은가요?

Page 22: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

LESS FrameworkDynamic Stylesheet Language

≒LESS는 CSS의 확장버전으로 하위호환성이 뛰어납니다.

CSS의 기존 문법을 그대로 사용하기 때문에 익히기 쉽습니다.

Page 23: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

APILESS Framework

LESS 사용 설명서

Page 24: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

CommentsLESS API

LESS 코멘트(주석) - 손쉬운 주석 활용

Page 25: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

ImportingLESS API

LESS 임포트(호출) - 외부 *.less, *.css 호출

Page 26: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

VariablesLESS API

LESS 변수는 실상 상수로 문서 읽기가 완료되는 시점에서 한번만 정의됩니다.

Page 27: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

MixinsLESS API

LESS 믹스인은 전달인자를 받지 않는 형태로도 사용이 가능합니다. 빈번하게 사용되는 경우 활용.

Page 28: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

MixinsLESS API

LESS 믹스인은 전달인자가 다수일 경우, 이를 모두기억하기란 어렵죠. 이런 경우 @arguments를 사용합니다.

Page 29: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Pattern-matchingLESS API

LESS 패턴 매칭은 동일한 이름의 믹스인이 정의되어 있을 경우, 전달인자가 일치하는 경우의 믹스인이 동작합니다.

Page 30: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Guard expressionsLESS API

LESS 가드 표현식은 일종의 조건문으로, 조건을 확인하여 처리합니다. when 키워드가 가드 조건의 시작입니다.

Page 31: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Guard expressionsLESS API

LESS 가드 표현식에 활용되는 비교 연산자는, >= = =< <

Page 32: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Guard expressionsLESS API

LESS 가드 표현식에서 or 는 ,로 처리합니다.= 의 경우는 일치하는 경우 { }의 코드를 처리합니다.

Page 33: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Guard expressionsLESS API

LESS 가드 표현식에서 and는 두가지 조건 모두가 참일 경우, 처리됩니다. not은 부정, 반대의 경우입니다.

Page 34: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Guard expressionsLESS API

LESS 가드 표현식에서 전달인자 유형을 파악하기 위한종류별 함수를 지원합니다.

Page 35: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Color functionsLESS API

LESS 컬러 함수, HSLA 체계를 활용하여 손쉬운 변경 처리.

Page 36: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Color functionsLESS API

LESS 컬러 함수, 색상 정보 값을 가져옵니다.

Page 37: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Math functionsLESS API

LESS 수학 함수, 반올림 올림 내림 / 퍼센트 화

Page 38: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

NamespaceLESS API

LESS 네임스페이스 - 배포용으로 제작시 활용합니다.

Page 39: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

ScopeLESS API

LESS 스코프(영역) - 가까운 변수를 활용합니다.

Page 40: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

String InterpolationLESS API

LESS 문자 채워넣기 - 문자를 변수화할 경우 사용합니다.PHP, ruby와 유사한 방법인 @{string}을 지원합니다.

Page 41: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

EscapingLESS API

LESS 이스케이핑(예외) - 비표준 방법을 사용할 경우,~ 를 앞에 붙여 컴파일시... 예외 처리할 수 있습니다.

Page 42: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Javascript evaluationLESS API

LESS 자바스크립트 코드 처리 - 자바스크립트 코드를 활용하고 싶을 경우는 `(back-ticks) 내부에 작성합니다.

Page 43: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Problem?LESS Framework

가만?.. LESS 이대로는 문제가 있는데요?!

Page 44: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

LESS ProblemDynamic Stylesheet Language

LESS. js 활용은 자바스크립트 미지원시 참담한 결과를 초래합니다.

CSS3를 좀 더 효율적으로 사용할 수 있도록 도와주는 매우 유용한

도구지만, 자바스크립트가 지원되지 않는 환경에서는 제 기능을 발휘하지 못합니다.

그렇다면 이 문제를 어떻게 해결해야 할까요?

Page 45: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

LESS ProcessDynamic Stylesheet Language

Page 46: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

LESS ProblemDynamic Stylesheet Language

LESS. js 대신 LESS 코드를 변환시킬 도구만 있으면 해결될 문제군요!

lessphp | .less{} | LESS.app | SimpleLESS | Less Parser

Page 49: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

{less}.app

incident57.com/less

Page 52: 다이내믹 스타일시트 언어 Less framework 활용 by yamoo9

Speakeryamoo9.com

facebook.com/yamoo9

twitter.com/yamoo9

cafe.naver.com/webstandardproject

만들면서 배우는 HTML5+CSS3+jQuery의 저자야무의 프레젠테이션이었습니다.