시리즈:중급 프로그래밍 시리즈/웹 클라이언트 디자인 편집하기

편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
{{:시리즈:쉽게 배우는 프로그래밍 입문}}
{{쉽게 알 수 있다 시리즈|이 문서는 정말 쉽습니다.|문서의 내용이 너무 쉬워서 오늘부터 프로그래밍 할 수 있을 것 같습니다.}}
 
{{토막글}}
=[[HTML]]=
=[[HTML]]=
'''HTML'''은 모르면 간첩일 정도로 웹 페이지의 가장 기본적인 틀이자 알파이다!
'''HTML'''은 모르면 간첩일 정도로 웹 페이지의 가장 기본적인 틀이자 알파이다!
==새 HTML 문서를 만들어 보자!==
==새 HTML 문서를 만들어 보자!==
{{--|HTML 4.1은 대세가 지났으니}} HTML5를 공부해보자. 우선 만만한 IDE를(...)연다. 그리고 새 HTML 문서를 만들면
{{--|HTML 4.1은 대세가 지났으니}}HTML5를 공부해보자. 우선 만만한 IDE를(...)연다. 그리고 새 HTML문서를 만들면
<syntaxhighlight lang="html5">
<source lang="html5">
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
16번째 줄: 16번째 줄:
   </body>
   </body>
</html>
</html>
</syntaxhighlight>
</source>
뭐 이렇게 씌여 있을 것이다. {{--|F12로 본 건 안비밀}}
뭐 이렇게 씌여 있을 것이다. {{--|F12로 본 건 안비밀}}


여기서 필요한 부분만 살펴 보자. {{--|것보다 이거 기본 뼈대 아닌가;;}}
여기서 필요한 부분만 살펴 보자. {{--|것보다 이거 기본 뼈대 아닌가;;}}
*<!DOCTYPE html> HTML5 문서라고 알려주는 것이다. {{--|4.1이 왜 대세가 지났는 지 알 수 있는 구문이다.}} 왜 알려주느냐면 쉽게 생각해서 요즘의 [[브라우저]]들은 좋다. pdf 파일도 열고, doc 파일도 연다. 그런데 html 파일도 열어야 하는데 이게 pdf인지 html인지 브라우저 입장에서 알 방법이 없다. {{--|물론 우리는 알 생각도 없다.}} 이 때, 우리가 html이라고 브라우저에게 알려주는 게 바로 이 줄이다. {{--|[[만연체]]}}
*<!DOCTYPE html> HTML5 문서라고 알려주는 것이다. {{--|4.1이 왜 대세가 지났는 지 알 수 있는 구문이다.}} 왜 알려주느냐면 쉽게 생각해서 요즘의 [[브라우저]]들은 좋다. pdf파일도 열고, doc파일도 연다. 그런데 html파일도 열어야 하는데 이게 pdf인지 html인지 브라우저 입장에서 알 방법이 없다. {{--|물론 우리는 알 생각도 없다.}} 이 때, 우리가 html이라고 브라우저에게 알려주는 게 바로 이 줄이다. {{--|[[만연체]]}}
*<html> {{--|어... 이건 대체 왜 있는 거지...}} 물론 이렇게 html만 쓴다면 굳이 쓸 필요가 없게 만들어 두었을 것이다. 이래뵈도 개발자들은 꽤나 {{--|게으르다}}똑똑하다. html을 굳이 쓰는 이유는 {{키|F12}}를 눌러 페이지 소스 보기를 하면 html다음에 뭔가 다닥다닥(...) 붙어 있는 게 보인다. {{--|겨우}}이걸 붙이려고 html이 필요한 것이다. DOCTYPE 뒤에서 열고 끝에서 닫으면 된다.
*<html> {{--|어... 이건 대체 왜 있는 거지...}} 물론 이렇게 html만 쓴다면 굳이 쓸 필요가 없게 만들어 두었을 것이다. 이래뵈도 개발자들은 꽤나 {{--|게으르다}}똑똑하다. html을 굳이 쓰는 이유는 F12를 눌러 페이지 소스 보기를 하면 html다음에 뭔가 다닥다닥(...) 붙어 있는 게 보인다. {{--|겨우}}이걸 붙이려고 html이 필요한 것이다. DOCTYPE 뒤에서 열고 끝에서 닫으면 된다.
*<head> 페이지의 여러 가지 설정을 넣는 부분이다. 하면 할수록 body보다 신경을 더 쓰게 되는 곳.
*<head> 페이지의 여러 가지 설정을 넣는 부분이다. 하면 할 수록 body보다 신경을 더 쓰게 되는 곳.
*<meta charset="UTF-8"> {{--|문자집합 설정을 하는 곳이다.}} 쉽게 배우는 프로그래밍 입문이니까 더 쉽게 설명하자면 [[占쓱옓]]이 안 나오게 하는 곳이다. {{--|나온다면 할 수 없다.}}
*<meta charset="UTF-8"> {{--|문자집합 설정을 하는 곳이다.}} 쉽게 배우는 프로그래밍 입문이니까 더 쉽게 설명하자면 [[占쓱옓]]이 안 나오게 하는 곳이다. {{--|나온다면 할 수 없다.}}
*<title> [[리브레 위키:현관]]를 가보자. 브라우저 상단에 ''리브레 위키''라고 나오는 가? {{--|물론 {{키|F12}} 정도는 다들 켜 놓고 보고 있겠지?}}
*<title> [[FrontPage]]를 가보자. 브라우저 상단에 ''리브레 위키''라고 나오는 가? {{--|물론 F12정도는 다들 켜 놓고 보고 있겠지?}}
*<body> 페이지의 모양을 만드는 곳이다. 채색까지 하는 경우도 있는데, 모양만 만들자. CSS3 나뒀다 뭐 할 것인가. arst는... [[콜맥]]의 [[ㅁㄴㅇㄹ]]같은(...) 것이다.
*<body> 페이지의 모양을 만드는 곳이다. 채색까지 하는 경우도 있는데, 모양만 만들자. CSS3 나뒀다 뭐 할 것인가. arst는... [[콜맥]]의 [[ㅁㄴㅇㄹ]]같은(...) 것이다.


어쨌든 이 문서를 브라우저를 통해 보면 qwfp라는 제목에 arst라고 씌여 있을 것이다. 이제 이걸 Hello, world로(...)바꾸어 보자.
어쨌든 이 문서를 브라우저를 통해 보면 qwfp라는 제목에 arst라고 씌여 있을 것이다. 이제 이걸 Hello, world로(...)바꾸어 보자.
<syntaxhighlight lang="html5">
<source lang="html5">
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
39번째 줄: 39번째 줄:
   </body>
   </body>
</html>
</html>
</syntaxhighlight>
</source>
{{--|[[포확찢]]의 충동이 느껴진다.}}
{{--|[[포확찢]]의 충동이 느껴진다.}}


50번째 줄: 50번째 줄:
다음과 같은 방법으로 어떻게 CSS가 굴러가는지 직접 두 눈으로 보면 어떤 요소가 어떤 역할을 하는거고 어떻게 써야 잘 굴러가는지, 또한 잘 설계된 디자인에서 영감을 받는 동시에 유용한 요령 몇 가지를 알아내는 데 큰 도움이 된다.
다음과 같은 방법으로 어떻게 CSS가 굴러가는지 직접 두 눈으로 보면 어떤 요소가 어떤 역할을 하는거고 어떻게 써야 잘 굴러가는지, 또한 잘 설계된 디자인에서 영감을 받는 동시에 유용한 요령 몇 가지를 알아내는 데 큰 도움이 된다.
===에디터 모드===
===에디터 모드===
리브레 위키 위키방이나 익명게시판의 댓글 쓰기에서 {{버튼|에디터 선택하기}}를 클릭해서 '에디터 모드'로 바꾸자. 그리고 아무 글자나 친 다음에 위에 보이는 각종 버튼을 클릭하거나 기능을 이용해서 글자를 최대한 꾸며보자.
리브레 위키 위키방이나 익명게시판의 댓글 쓰기에서 '에디터 선택하기'를 클릭해서 '에디터 모드'로 바꾸자. 그리고 아무 글자나 친 다음에 위에 보이는 각종 버튼을 클릭하거나 기능을 이용해서 글자를 최대한 꾸며보자.


그 예시로 리브레 위키 [[슬로건]] "펜을 쥔 모든 손에 권리를."을
그 예시로 리브레 위키 [[슬로건]] "펜을 쥔 모든 손에 권리를."을
{{인용문2|<u><em><strong><span style{{=}}"color: rgb(0, 158, 37); font-size: 16px; font-family: Verdana,Geneva,sans-serif;">펜을 쥔 모든 손에 권리를.</span></strong></em></u>}}
{{인용문2|<u><em><strong><span style{{=}}"color: rgb(0, 158, 37); font-size: 16px; font-family: Verdana,Geneva,sans-serif;">펜을 쥔 모든 손에 권리를.</span></strong></em></u>}}
위와 같이 꾸민 다음에 {{버튼|HTML 편집기}} 버튼을 눌러서 확인해보면
위와 같이 꾸민 다음에 'HTML 편집기' 버튼을 눌러서 확인해보면
{{인용문2|<nowiki><u><em><strong><span style="color: rgb(0, 158, 37); font-size: 16px; font-family: Verdana,Geneva,sans-serif;">펜을 쥔 모든 손에 권리를.</span></strong></em></u></nowiki>}}
{{인용문2|<nowiki><u><em><strong><span style="color: rgb(0, 158, 37); font-size: 16px; font-family: Verdana,Geneva,sans-serif;">펜을 쥔 모든 손에 권리를.</span></strong></em></u></nowiki>}}
다음과 같은 HTML 코드를 확인할 수 있다. 중간에 {{Ruby|<code><nowiki><u></nowiki></code>|밑줄}}, {{Ruby|<code><nowiki><em></nowiki></code>|글씨 기울이기}} 그리고 {{Ruby|<code><nowiki><strong></nowiki></code>|굵은 글씨}} 태그가 보이긴 하지만 <code><nowiki><span></nowiki></code>태그 안에 들어 있는 저 <code>style</code>과 그 속성들을 주목하라! 이것이 우리가 배우게 될 CSS가 적용된 비교적 접하기 쉬운 예시라 할 수 있다.
다음과 같은 HTML 코드를 확인할 수 있다. 중간에 {{Ruby|<code><nowiki><u></nowiki></code>|밑줄}}, {{Ruby|<code><nowiki><em></nowiki></code>|글씨 기울이기}} 그리고 {{Ruby|<code><nowiki><strong></nowiki></code>|굵은 글씨}} 태그가 보이긴 하지만 <code><nowiki><span></nowiki></code>태그 안에 들어 있는 저 <code>style</code>과 그 속성들을 주목하라! 이것이 우리가 배우게 될 CSS가 적용된 비교적 접하기 쉬운 예시라 할 수 있다.
70번째 줄: 70번째 줄:


하나의 태그에도 여러 가지의 Class를 사용할 수 있다. 서로 다른 Class를 정의할 때는 공백으로 구분해주면 된다. ID는 하나의 객체를 지칭할 때 쓰기 때문에 하나에다 ID를 여러 개 쓸 이유가 없다. ID에는 원칙적으로 공백을 넣으면 안 된다.
하나의 태그에도 여러 가지의 Class를 사용할 수 있다. 서로 다른 Class를 정의할 때는 공백으로 구분해주면 된다. ID는 하나의 객체를 지칭할 때 쓰기 때문에 하나에다 ID를 여러 개 쓸 이유가 없다. ID에는 원칙적으로 공백을 넣으면 안 된다.
<syntaxhighlight lang="html5">
<source lang="html5">
<div id="foo" class="bar asdf">어쩌구저쩌구</div>
<div id="foo" class="bar asdf">어쩌구저쩌구</div>
</syntaxhighlight>
</source>
위의 div 태그에는 foo라는 ID가 붙었고, Class로는 bar와 asdf 2개가 붙었다.
위의 div 태그에는 foo라는 ID가 붙었고, Class로는 bar와 asdf 2개가 붙었다.


83번째 줄: 83번째 줄:
text-align 속성은 텍스트를 정렬하는 속성입니다. left/center/right/justify 속성이 있는데, 이중 justify는 양쪽 정렬 속성입니다.
text-align 속성은 텍스트를 정렬하는 속성입니다. left/center/right/justify 속성이 있는데, 이중 justify는 양쪽 정렬 속성입니다.
===display 속성===
===display 속성===
{{빈 문단}}
===margin과 padding 속성===
===margin과 padding 속성===
공간을 만드는 속성입니다. margin은 테두리 바깥쪽에, padding은 안쪽에 공간을 만드는데요, padding으로 공간을 내면 테두리 안쪽에 있기 때문에 공간에 배경색을 넣는 것 등이 가능합니다. px, em, rem, % 등의 단위를 사용할 수 있지만, 보통은 px로 하는 게 편합니다. margin의 경우 음수로도 지정이 가능합니다.
공간을 만드는 속성입니다. margin은 테두리 바깥쪽에, padding은 안쪽에 공간을 만드는데요, padding으로 공간을 내면 테두리 안쪽에 있기 때문에 공간에 배경색을 넣는 것 등이 가능합니다. px, em, rem, % 등의 단위를 사용할 수 있지만, 보통은 px로 하는게 편합니다. margin의 경우 음수로도 지정이 가능합니다.
===border 속성 ===
===border 속성 ===
테두리를 어떻게 보이게 할지 지정하는 속성입니다. border: (굵기) (모양) (색상);으로 지정합니다. 예를 들어 border: 1px dotted gray;라고 한다면 회색의 점선을 1px의 굵기로 씌우는 것이 됩니다.
테두리를 어떻게 보이게 할지 지정하는 속성입니다. border: (굵기) (모양) (색상);으로 지정합니다. 예를 들어 border: 1px dotted gray;라고 한다면 회색의 점선을 1px의 굵기로 씌우는 것이 됩니다.
101번째 줄: 99번째 줄:
== C과 다른 JavaScript 문법 ==
== C과 다른 JavaScript 문법 ==
=== 객체 ===
=== 객체 ===
C언어의 구조체와 흡사하다. 선언은 두 가지 방식이 있다.
C언어의 구조체와 흡사하다. 선언은 두가지 방식이 있다.
==== JSON를 이용한 객체 ====
==== JSON를 이용한 객체 ====
<syntaxhighlight lang = "javascript">
<source lang = "javascript">
var bullet =  
var bullet =  
     {
     {
114번째 줄: 112번째 줄:
         }
         }
     };
     };
</syntaxhighlight>
</source>
==== function을 이용한 객체 ====
==== function을 이용한 객체 ====
<syntaxhighlight lang="javascript">
<source lang="javascript">
functon Bullet(x, y, speed)
functon Bullet(x, y, speed)
{
{
128번째 줄: 126번째 줄:
}
}
var bullet = new Bullet(0,0,10);
var bullet = new Bullet(0,0,10);
</syntaxhighlight>
</source>


==[[jQuery]]==
==[[jQuery]]==
140번째 줄: 138번째 줄:
==== HTML 요소의 속성을 수정해보자 ====
==== HTML 요소의 속성을 수정해보자 ====
다음과 같은 HTML문서가 있다고 해보자.
다음과 같은 HTML문서가 있다고 해보자.
<syntaxhighlight lang="html5">
<source lang="html5">
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
151번째 줄: 149번째 줄:
</body>
</body>
</html>
</html>
</syntaxhighlight>
</source>
<!-- 뭐 이런 순서가 다 있어? -->
<!-- 뭐 이런 순서가 다 있어? -->
p의 글을 바꿀 것이다.
p의 글을 바꿀 것이다.
<syntaxhighlight lang="javascript">
<source lang="javascript">
$(document).ready(function() {
$(document).ready(function() {
     $('p').click(function() { //글을 클릭하면
     $('p').click(function() { //글을 클릭하면
160번째 줄: 158번째 줄:
     });
     });
});
});
</syntaxhighlight>
</source>
text()를 이용하면 html 태그가 적용되지 않으므로, 태그를 적용하고 싶다면 다음과 같이 하면 된다.
<syntaxhighlight lang="javascript">
$(document).ready(function() {
    $('p').click(function() { //글을 클릭하면
        $('p').html('<del>지금 당장 프로그래밍 할 수 있을 것 같습니다.</del>'); //태그가 적용된 글로 바꾼다.
    });
});
</syntaxhighlight>
{{각주}}
{{각주}}
 
{{쉽게 배우는 프로그래밍 입문}}
[[분류:프로그래밍 시리즈|웹 클라이언트 디자인]]
리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다.
취소 편집 도움말 (새 창에서 열림)

| () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |}

이 문서에서 사용한 틀: