[Javascript]원하는 HTML 영역 프린트하기

스크린샷 2017-03-28 오전 10.48.19스크린샷 2017-03-28 오전 10.49.44

상황: 페이지의 일부만 프린트하고 싶다!

구글링 하면 2가지 방법이 나온다.
근데 둘다 내 상황에는 문제점이 있었다.

  1. 팝업으로 DOM을 복사해 프린트: 편하긴 한데 css, js가 떨어짐
  2. 전체 돔, 프린트 영역 원하는 돔 따로 저장한다음에 프린트영역만 살리고 프린트 후 전체 돔 살림: 편하긴 한데 js 이벤트 바인딩이 떨어짐

아래와 같이 display noneblock 을 toggle 해주는걸로 간단히 해결 가능하다.
React 사용중이라 jquery 말고 pure javascript로 코딩했다.

onPrint() {
const html = document.querySelector('html');
const printContents = document.querySelector('.modal-body').innerHTML;
const printDiv = document.createElement("DIV");
printDiv.className = "print-div";

html.appendChild(printDiv);
printDiv.innerHTML = printContents;
document.body.style.display = 'none';
window.print();
document.body.style.display = 'block';
printDiv.style.display = 'none';
}

카카오스토리로 공유하기 간단하게 코딩하기

사이트에 공유버튼을 달아야 하는 미션.

원래 Kakao Developers 사이트에서 기본 제공하는 간단한 js와 버튼 div를 가져와서 width 0시켜 안보이게 만든 뒤
커스텀해 만든 버튼을 click이벤트로 연결하려 했다.

예상시간: 30분이면 되겠지!
삽질시간: …

iphone사파리에서만 foce한 클릭이 먹질 않는것이다.
iphone safari jquery click검색하니 나와 같은 고생을 겪는 선지자들을 보고

  • cursor: pointer로 두면 jquery가 신기하게 먹는다
  • display: none을 풀어라
  • touchstart이벤트를 넣어라
  • a태그가 아니면 먹질 않는다
  • onclick=” “과 같이 빈 액션을 넣어라

등의 삽질을 해보았지만 왠지모르게 실패. 플러그인 만지기란…

파이님이 만드신 알파카코믹스는 도대체 어떻게 한거지 하고 봤더니 걍 href에 https://story.kakao.com/share?url=를 추가하셨다.

어디서 나온 주소냐고, 플러그인 쓰지 않아도 되냐고 여쭙니 본인도 플러그인으로 고통받다가 저 주소를 야매로 알아내셨다 하심.

jquery iphone click문제는 내 지친 마음이 좀 더 회복되고 다시 봐야겠다.

무튼 코드로 마무리

<div class="teaser-social-share">
        <a class="share-kakaostory waves-effect waves-light" href="#"><i class="icon-kakao_story"></i></a>
        <a class="share-fb waves-effect waves-light" href="#"><i class="icon-facebook"></i></a>
        <a class="share-twitter waves-effect waves-light" href="#"><i class="icon-twitter"></i></a>
        <!--<a id="kakaostory-share-button"></a>-->
    </div>
var Share = {
    clickShareBtn: function() {
        var size = 'width=626 height=436';
        $('.share-kakaostory').on('click', function () {
            window.open('https://story.kakao.com/share?url=https://store.pinkfong.com/event/teaser/', '_blank', size);
        });
        $('.share-fb').on('click', function () {
            window.open('https://www.facebook.com/sharer/sharer.php?u=https%3A//store.pinkfong.com/event/teaser/', '_blank', size);
        });
        $('.share-twitter').on('click', function () {
            window.open('https://twitter.com/share?url=https://store.pinkfong.com/event/teaser/', '_blank', size);
        });
    }
}

$(function(){
    Share.clickShareBtn();
});

[HTML/CSS] 웹 폰트 사용하기 – Web Font Tutorial

font-face

  • CSS2에 새로 추가된 웹 글꼴 명세
  • 표시하려 하는 글꼴이 시스템에 없는 경우 웹 서버에서 글꼴 내려받아 표시
  • 지원
  • W3C 권장형식은 *.woff 이다.
  • IE 6~8: *.eot(O) *.woff(X)
  • IE9: *.eot(O) *.woff(O)
  • 크롬, 사파리, 파폭, 오페라: *.eot(X) *.woff (O)

결국 모든 브라우저를 지원하기 위해 *.eot*.woff를 모두 준비해야 한다.

  • @media구문 안쪽에서 @font-face규칙을 사용하는 경우 IE9 브라우저는 글꼴 요청 X

한 글꼴에 @font-face는 한번만 선언

표준과 비표준 글꼴을 모두 지원하기 위해 @font-face규칙을 두 번 사용하는 경우 IE 6~9는 두개 형식 모두 내려받아 성능에 좋지 않겠지.

/* Not recommended */
@font-face{font-family:ngwoff; src:url(NanumGothic.woff)}
@font-face{font-family:ngeot; src:url(NanumGothic.eot)}
body{font-family:나눔고딕, NanumGothic, ngwoff, ngeot}

위 코드는 더 나은 성능을 위하여 다음과 같이 개선할 수 있습니다. Paul Irish가 제안한 방탄 코드 입니다.

/* Recommended */
@font-face{
font-family:ng;
src:url(NanumGothic.eot);
src:local(※), url(NanumGothic.woff) format(‘woff’);
}
body{font-family:나눔고딕, NanumGothic, ng}
  • ng라는 글꼴 이름을 한번만 선언하고 eot형식과 woff를 순차저긍로 참조.
  • eot가 먼저 나와있으므로 IE 6~8은 eot만 받아온다
  • 나머지 브라우저들은 woff를 받아온다.
  • local(※)
  • 외부자원 참조하기 이전에 시스템 글꼴을 우선 참조할 수 있도록 만들어준다.
  • IE 6~8이 local()값을 처리하지 못하는 특성 이용해 woff글꼴 추가로 요청 못하게 함.
  • 는 사용자 시스템에 존재하지 않을만한 글꼴을 임의로 지정
  • format(‘woff’)를 명시적으로 지정하면 이 형식을 지원하는 브라우저만 글꼴 내려받음.
  • 값은 반드시 따옴표 안에 있어야 함.
  • 나눔고딕 NanumGothic 두번 적은 이유는 영문으로만 작성했을때 제대로 표시하지 못하는 브라우저 있기 때문. 한글 이름이 있으면 이런 식으로 해줘라.

IE9는 @media규칙 내부에 @font-face 허용 안함

/* IE 9 does not support @font-face within @media */
@media all and (min-width:768px) {
@font-face{
font-family:ng;
src:url(NanumGothic.eot);
src:local(※), url(NanumGothic.woff) format(‘woff’)
}
body{font-family:나눔고딕, NanumGothic, ng}
}
  • IE9는 미디어 구문 안쪽에 선언하면 외부 글꼴을 요청하지 않음.
  • @font-face를 @media 밖에 빼면 된다.

웹폰트 빠르게 로딩하기

보고 공부한 링크
1. 구글 임포트 코드를 HEAD태그의 가장 첫번째(CSS보다 앞)에 위치
2. link로 로드해라
– 구글 웹폰트 로딩 방법은 @import, 참조링크, js세가지.
– 참조링크 이용해서 HTML최상에 코드넣어라.
&lt;link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'&gt;
3. 적은 폰트 갯수
– 표제를 위한 볼드타입 / 가시를 위한 가독성 좋은 폰트 최대2개 폰트 선정
4. 코드 한줄에 여러 폰트 로드
&lt;link href='http://fonts.googleapis.com/css?family=Open+Sans|Oswald' rel='stylesheet' type='text/css'&gt;
5. 쓸것만 로드: 폰트 weight옵션 쓸것만 로드한다
6. Load faster fonts: 폰트마다 로딩 시간 다르니 빠른걸로 골라라
7. 정말 확실히 로드해야한다면 Web Font Loader를 써라.
– 사이트 나머지 로드되기 전에 로드하고, 스타일되지 않은 텍스트가 번쩍이는 것을 확실히 피해준다.

한글 웹 폰트 경량화해 사용하기

보고 공부한 링크

Refer

웹 폰트 문제 해결. @font-face troubleshooting
구글 웹폰트를 빠르게 로드하는 팁 7가지
한글 웹 폰트 경량화해 사용하기
https://www.igvita.com/2014/01/31/optimizing-web-font-rendering-performance/
https://www.igvita.com/2012/09/12/web-fonts-performance-making-pretty-fast/

[HTML/CSS] 유튜브 반응형으로 삽입하기 – Responsive Youtube(iframe) embed

개요

iframe을 CSS로 다루는 것은 까다롭고 기분이 좋지 못하다. 마음대로 안되므로. ^^…
youtube들을 모아놓은 반응형 홈페이지를 만들고 있는데, 그 youtube를 반응형으로 삽입하려면 약간의 CSS 꼼수가 필요하다

HOW TO

HTML

<div class="video-container">
    
</div>

CSS

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

iframe을 video-container로 감싸주고, 그 안의 iframe을 relative/absolute로 조정해준다.
이 클래스는 그대로 두고, 다른 특성들을 쓰고 싶다면 독립된 곳에서 쓰도록 하자. 괜히 꼬이지 않게.

내 경우는 특이하게 .video-container의 padding-top을 0px로 해야 비디오가 화면에 검정 여백 없이 꽉 차게 나왔다.

유튜브가 얼마 전부터 반응형을 조금씩 지원하기에, 앞으론 이런 꼼수를 안써도 되는 날이 머지 않은 것 같당!

+추가

이것도 잘 된당

.container {
float: none;
    clear: both;
    width: 100%;
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
}

iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 60%;
    height: 60%;
    margin-left: auto;
    margin-right: auto;
}

Youtube Thumbnail 가져오기 & 16:9비율로 크롭하기

개요

한 화면에 유튜브 이미지+링크를 많이 모아놓은 사이트를 개발하고 있는데,  이를 모두 iframe으로 embed하는 것은 낭비이기에 thumbnail만 가져오는 방법을 찾아보았다.

썸네일 가져오기

<img src="http://img.youtube.com/vi/JnxwbY07jmY/0.jpg"/>

일단 이렇게 하면 썸네일이 나온다.
하지만 이런 식으로 6:4비율로 검정 background가 포함되어 나온다.

썸네일 크롭하기

이 링크를 보고 따라했다.

<div class="crop"><a href="#" title=""><img src="http://img.youtube.com/vi/JnxwbY07jmY/0.jpg"/></a></div>
div.video {
        width: 100%;
        img{
            border:none;
            height:200px;
        }
        .crop{
            float:left;
            margin:.5em 10px .5em 0;
            overflow:hidden;  this is important
            border:0px solid #ccc;
            }
        /* input values to crop the image */
        .crop img{
            margin:-25px -0px -25px 0px;
        }
    }

img를 crop으로 감싸 요리 죠리 이동하고 자르는 방법이다.
하지만 예쁘고 깔끔하지 못해서 조금 더 찾아봤다.

그냥 16:9로 가져오기

<img src="http://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg">
<img src="http://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg">

그냥 이렇게 하면 된다…
스택오버플로우를 참고하였다.
위는 320×180, 아래는 (가능하면)1500×900를 준다.


이런식으로.

web 마크업 레벨테스트

개요

Tobyyun님의 Markup Level Test를 풀고 점검을 받았습니다.
첫 라인이 제가 쓴 답이고(대부분 틀렸어요 ^.^….눈물)
들여쓰기 되어있는 것이 첨삭받은 것입니다.

마크업 레벨테스트

  1. Doctype을 사용하지 않을 때는 무슨일이 발생하나요?
    특정버전으로 작성된 메서든데 다른 버전으로 보일 수 있다.

    HTML렌더링 모드, 독타입이 없으면 quirks mode로 간다.(스탠다드-웹표준, 얼모스트 스탠다드, 쿽스 모드) CSS를 해석하는 방법이나 등등이 깨질 수 있다.

  2. 웹표준에 맞게 작업할 때 b, i 태그 대신 적합한 태그는 각각 무엇일까요?
    <strong> , ?

    시맨틱!!! <strong>, <em>

  3. block 요소와 inline 요소에 해당하는 태그들을 각각 5개씩 적어보세요.
    블록: <img>, <div>, <header>, , <table>, <li>
    인라인: <p>, <a>, <strong>, <span>

    블록: div, p, section, article
    인라인: span, a, img, b, u, i….

  4. blockquote 태그는 어떤 용도로 사용해야 할까요?
    인용구를 넣을때

  5. 인라인 스타일(style=”property:value”)을 가급적 사용하지 말아야 할 이유는 무엇일까요?
    유지보수가 힘들다(왔다갔다)

    구조와 표현의 분리

  6. myPhoto.jpg 파일을 img 태그로 작성해보세요.
    <img src="경로/myPhoto.jpg" />

    <img src="경로/myPhoto.jpg" alt="대체텍스트"> //알트 꼭 쓰기

  7. HTML에서 id 속성을 사용하는 이유와 주의 할 점은 무엇일까요?
    요소에 유니크한 속성을 부여한다. 페이지당 한번만 쓴다.

  8. ‘TopArea’라는 클래스명이 좋지 않은 이름이라면 그 이유는 무엇일까요?
    첫글자가 소문자가 아니다

    Top이라는 방향성을 가지고 있기 때문. 접근성차원에서도 방향은 의미 없으므로.

  9. ‘blue-box’라는 클래스명이 좋지 않은 이름이라면 그 이유는 무엇일까요?
    색상이 CSS에서 변경될 수 있다.

  10. HTML5에 새롭게 추가된 aside 태그는 어떤 용도로 사용해야 할까요?
    사이드 메뉴

    HTML5 Doctor의 콘텐츠 요소 판별법 참고
    컨텐츠의 주요 내용이 아니고 부수적인 내용일때

  11. input 태그와 항상 함께 사용해야 할 태그는 무엇일까요?

label꼭 달자

  1. 모바일 웹 또는 반응형웹디자인 프로젝트에서 각 기기에 적합한 화면을 보여주기 위해 필요한 meta 태그는 무엇일까요?
    media-query
    > meta name=”viewport”

CSS

  1. 화면 상에는 보이지 않으나, 스크린 리더에서 읽혀야 하는 요소에 주어야 할 스타일링을 작성해보세요.
    display:none

    위의것은 스크린리더에서 안읽어줌. 우리 사이트 a11y클래스 참고

  2. float 속성을 가진 자식을 품은 부모요소는 높이 값을 잃어버릴 때가 있습니다. 이 현상을 해소하는법(clearing)을 알고 있나요?

    나중에 알려줄게요.

  3. border-box와 content-box의 차이점은 무엇일까요?

    박스 모델을 알고있나? 지금은 컨텐트박스가 표준. box-sizing으로 변경 가능 =

  4. position: relative는 어떤 경우에 사용 하나요?
    다른 요소에 따라 이 요소의 위치값이 결정될때

    좌표를 재정의할때 쓴다

  5. CSS Reset은 무엇이며 왜 사용할까요?
    브라우저 기본으로 적용되어있는 CSS값들을 리셋. (기본 패딩 등등…)

    크로스 브라우징을 목적으로

  6. Sass, less, Stylus와 같은 CSS 프리프로세서를 사용해본적이 있나요?
    sass를 좀 보았습니다.

  7. id, class, inline style, !important를 우선순위 순으로 나열해보세요.
    !important > inline style > id > class

  8. CSS에서 상속이 되는 속성을 2개만 꼽아보세요.
    display? position?

    위 것들은 다 상속 안되는것들이고, color:red나 사이즈 같은거 상속됨.

  9. Sprite image 기법을 사용하는 이유는 무엇일까요?
    빠른 로딩과 용량을 줄이기 위해

    파일 요청횟수

  10. Sprite image 기법을 사용하는데 필요한 CSS 속성들을 꼽아보세요.
    top, left

    background-position

  11. 점진적 향상(Progressive Enhancement)의 뜻을 설명 할 수 있나요?
    특정 기능을 적용할 때, 구 브라우저에 적용이 안돼도 치명적이지 않을 만큼 조금씩 신기능을 추가

    graceful degration(우아한 낮춤?!) ttf만 쓰면 구형 인터넷익스플로러에선 안된다. eot, svg같은걸 추가 (ttf, eot파일 두개만 있으면 거의 다 지원된다.)

  12. 개발사 접두어(vendor prefix)를 꼭 사용해야 할 CSS 속성(property)를 2개만 꼽아보세요.

    앞에 webkit, moz같은게 붙는거.

  13. 반응형웹디자인의 3가지 요소를 꼽아보세요.
    모든 사이즈 지원, 모두 같은 내용, 코딩을 한번만 한다

    링크 참고

  14. 모바일기기를 대응할 때 기준으로 삼는 해상도 사이즈는 몇이며 그 이유는 무엇인가요?

    320을 최소로 잡고, 그것보다 넓으면 100%로 늘리면 되니까!

  15. :first-child와 :last-child가 지원하는 IE의 버전명을 적어보세요.

    7, 9(그래서 퍼스트차일드로 스타일예외처리를 많이 한다.)

  16. 포토샵(또는 다른 그래픽툴)에서 이미지를 자를 때 어떤 기능을 사용하나요? (메뉴명, 단축키 등)
    cmd + t

  17. jpg, gif, png의 차이점을 설명해보세요.
    png: 투명 가능, 용량 작다
    jpg: 이미지 손실이 덜하다
    gif: 움직이는 이미지 제작가능

    나중에 더 자세히

  18. 가상컨텐츠(:before, :after)는 어떤 용도로 사용할까요?
    애니메이션 만들때

    HTML고치지 않고 꾸밀때 (가상요소)

  19. 블럭요소 안의 어떤 자식 요소를 정중앙에 놓는 방법을 알고 있습니까?
    left: 50%
    right: 50%

    일일코딩시에 하겠습니다.

웹접근성(by ClearBoth 벙개!)

브라우저
  • Engine
    • 해석해주는거.
    • IE는 Gecko, Chrome은 webkit쓰다가 blink로… 사파리는 웹킷,
    • 주의해야할것 : Blink
      • webkit접두사가 다 먹힌다.
      • but webkit이랑 blink는 다르다!
    • 엔진의 성능이 좋을수록 브라우저 속도가 빠르다
      • 최적화 최적화!!
      • 어떻게 돌려야 이 엔진에서 가장 잘 돌아가는지!
  • Mobile Browser
    • Android 내장 브라우저
      • 기본적으론(4.3이하) webkit
      • 4.4(키캣)부터 blink
    • Android 크롬(2주에한번씩 업뎃)
      • blink
    • iOS (4주에한번씩 업뎃 – 심사가 빡세서…)
      • 사파리 : 웹킷
    • Blackberry
      • webkit
    • Symbian
      • 엔진 미상(!!!!) (IE랑 비슷)
  • Browser
    • minimun브라우저에 돌아가게 만들긔
      • IE 5.5를 지원하는걸 만드느라 엄청 밤새고 그랬는데 5.5접속률은 0%이었다…
  • 주절주절
    • 크롬은 업데이트가 언제 됬는지도 모르게 지들 멋대로 막 업뎃함.
      • IE는 윈도우즈를 통째로 업뎃할때 얘도 업뎃함 ㄷㄷㄷ
    • 포털은 minimum까지 다 지원해야함.
      • 작은 퍼센트의 고객을 잃는것도 큰 타격이므로 ㄷㄷ
기술
  • Front-End
    • 보여지는쪽. 브라우저 성향을 탄다.
    • 내가 조금이라도 건드리면, 사용성에 영향을 준다.
    • HTML
      • 마크업.
      • made by 팀 버너스 리
      • Hyper text markup language
      • 가장 기본이고, 가장 중요하다. HTML을 얼마나 잘짜느냐가 그사람의 역량이(!!)(구글 검색결과에 상위에 노출된다던가, 접근성에 적합한가..)
      • HTML5. 새로운 기술들 많음. 책을 읽는다면 최신걸로 읽는게 좋음!
        • 비교적 최신 프로젝트들은 요걸 씀.
      • XHTML, HTML4.01    <<더이상 바뀌지 않는다!
      • W3C, WHATWG 에서 명세 참고해 (하지만 웟WG는 아메리칸조크들도 섞여있어서 걍 W3C봐)
    • CSS
      • Cascading style sheet
      • 의미와 표현의 분리.
        • 브라우저를 이쁘게 만들기 위해 HTML을 더럽히지 말쟈…
      • CSS3 : Transition, animation, flex box….
    • JS
      • 동작을 담당.
      • ECMAScript : 자바스크립트의 최신버전(명시되어있는거!)
        • Action script
  • Back-End
    • 데이터. 브라우저 성향을 타지 않는다.
    • Client
      • php, JSP, ASP
    • Server
Mobile
  • 파편화 장난아니다!
  • 아이폰
    • 3.5 inch(~4s)
    • 4 inch (5s, 5c)
  • 레티나 대응(공식명칭 : DPI-DotPerInch-대응)
    • “걍 이미지를 2배로 쓰는거 아니야?”라고 사람들이 착각함.
    • 근데 또 너무 좋은 화질로 놓으면 사용자의 데이터를 쭉쭉 빨아먹는다.
    • 실제 디바이스 사이즈에 비해 해상도가 미친듯이 큰거…
    • 이제 PC에서도 레티나대응을 해야한다(맥프레!)
  • 안드로이드
    • 해상도 파편화 대박
  • 디바이스 보는 방식
    • Portrait : 세워서보기
    • Landscape : 눕혀서보기
  • 그래도 모바일이 CSS3를 웹보다 더 잘 지원한다.
  • Mobile First(모바일 우선대응)
    • 개발하기 편한듯. 폰트도 다 깔려있고, 화면전환, GPS, 확대축소, 전화, 문자, 진동, Touch 등등 다 구현(?!)되어있으니.
    • 데스크탑은 불가하고, 모바일은 가능한것들이 많음! (사용성 big)
      • 예를들어, 피트니스나, 요리 등등.
      • 휴대가 가능하다는게 제일 큼.
  • Responsive Web design
    • 여러 해상도에서 다른 사용성을 같은 마크업으로…(ㄷㄷ)
    • mobile first랑 일맥상통.
주절주절
  • megaman sprite(롱맨?) 한번 만들어보면 JS dom같은거 한방에 이해한다.

Head First HTML 정리

웹언어

  • 웹서버가 하는일
    • 인터넷에서 웹브라우저의 요청을 기다리며 24시간 내내 쉬지않고 작동.
    • 웹페이지가 요청을 접수하면, 요청에 해당하는 리소스를 찾고 브라우저에 적절한 응답을 보낸다.

 

인용구

  • <q> 사느냐 죽느냐 문제다</q>
    • 인용구. 인용구의 스타일을 줄 수 있다. 웹 페이지가 의미 있고 구조적이게 된다.(시각장애인 위한 음성 HTML을 생각해봐)
    • 인라인 요소 – 시대의 흐름에 따라간다(q, a, em)
  • <blockquote>q랑은 달리 문단과는 별도로 스스로 보여질 필요가 있는 긴 인용구</blockquote>
    • 긴 인용구
    • 블록 요소 – 스스로 자립가능(h1, p, blockquote) 앞과 뒤에 라인브레이크를 가지고있다.

링크

  • <a href=”https://milooy.wordpress.com&#8221; title=”링크에 마우스 올리면 보이는 제목”>유림의 블로그</a>로 가봅시다.
  • id 속성으로 <a>요소에 대한 목적지 생성하기
    • 목적지를 찾고 id를 추가한다.
      • <h2 id=”chai”>차이티라떼</h2>
    • 연결하기
      • <a href=”index.html#chai>차이티라떼로</a>
  • 새 창에서 링크띄우기
    • <a target=”_blank” href=”http://dddd”>링크링크</a&gt;
    • 블랭크 말고 “coffee”라고 쓰면: 커피라는 타겟이름을 가진 모든 링크가 같은 창에서 열릴것이다. _blank는 브라우저에 항상 새 창을 사용하라는 특별한 경우.

 

이미지 다루기

  • <img src=”../images/green.jpg” alt=”>
    • 인라인 요소(앞 뒤로 라인브레이크 삽입 안함)
    • alt : 만약 이미지가 보이지 않으면 이 텍스트가 대신 사용됨

표준

CSS

  • font-family : sans-serif;
  • color : gray;
  • border-bottom : 1px solid black;
  • <link type=”text/css” rel=”stylesheet” href=”lounge.css”>
    • link : 외부정보와 링크로 연결.
    • type : 정보의 유형이 text/css. CSS스타일 시트라는 뜻.
    • href : 스타일시트가 위치해있는 곳.
  • font-size: 14px(혹은 %로도 표현가능), font-weight:bold, text-decoration: underline
  • line-height : 1.6em  //줄간격은 폰트의 1.6배
  • class: 한개이상의 요소에 스타일을 줄때 이용.
    • p.specials {} : special클래스에 있는 문단만 선택
    • .specials {} : special클래스에 있는 모든 요소 선택
  • id : 꾸미고자하는 스타일이 유일하고 페이지 내에서 오직 한개일때.
    • #footer {} : footer id를 가진 임의의 요소 선택
    • p#footer {} : 만약 <p>요소가 footer id를 가지고 있다면, <p>요소를 선택.
    • 한 페이지 내에서 오직 하나의 요소와 일치해야 함.
  • background-image : url(images/backgound.gif);
    • url은 페이지에 이미지를 넣기 위한게 아님. 이미지 넣으려면 <img>요소 사용.
    • 배경이미지는 그저 보여주는 용도일 뿐. 장식을 위한 것.
    • url주위에 따옴표 없음
  • background: white url(images/cocktail.gif) repeat-x;
    • 한줄에 쓸수도 있다.
  • border-style : 다양하게 많음
  • border-radius : 둥근모서리 지정.
  • text-align : 안에 있는 모든 인라인 콘텐츠가 정렬.
    • 오직 블록 요소에만 설정해야 함.
    • 인라인 요소에 직접적으로 사용하면 아무런 영향 없음(<img>요소처럼)

박스

  • 패딩 : 콘텐츠에 여유공간을 제공
  • 마진 : 요소와 다른 요소 사이에 여백 줌

홈짱 HTML 정리

Html의 기본구성

  • <!DOCTYPE html> : document type definition
  • <HTML>…</HTML> : HTML문서의 시작과 끝을 의미하는 태그.
  • <HEAD>…</HEAD> : HTML문서의 기본 정보를 담음. 문서의 제목, 제작자, 정보
  • <TITLE> : 문서 상단의 제목 설정. 웹브라우저의 제목 표시줄에 표시.
  • <META> : 문서의 정보 설정
  • <script> : javascript언어 등을 사용한 다양한 프로그램이 위치하는 공간
  • <style> : 문서의 장식

body태그

  • <body>와 </body> 사이에 본문이 위치
  • <body bgcolor = “gray”> : 본문의 배경색 회색
  • <body leftmargin = “100”> : 본문 왼쪽여백 100픽셀

 

 

 

레이아웃

    • 테이블을 이용한 레이아웃
      • 홈페이지 제작할때 가장 많이 사용되는 태그는 <table>태그. (<tr>, <td>와 함께)
      • 레이아웃을 잡을 때 <table>태그만큼 효율적인게 없기 때문
      • <caption>여기에 표 제목(캡션)을 적어준다</caption>
      • a21b5e8e5d65bc1d89797a7e0edc4c2a.png
      • d5f8594430b698ad3fef5f1d9e6bcee7.png
        • <th>여긴 테이블의 각 열에 대해 제목을 표시.의미도 더하고 표시도 더해줌</th>
  • <table width=”800″ cellpadding=”0″ cellspacing=”0″ border=”0″ align=”center”>
    <tr bgcolor=”#8080FF” align=”center”>
    <td width=”100″>홈페이지 로고</td>
    <td width=”100″>메뉴1</td>
    <td width=”100″>메뉴2</td>
    <td width=”100″>메뉴3</td>
    <td width=”100″>메뉴4</td>
    <td width=”100″>메뉴5</td>
    <td width=”200″><!– 여백 –></td>
    </tr>
    <tr height=”5″>
    <td colspan=”7″><!– 여백 –></td>
    </tr>
    </table>
    <table width=”800″ cellpadding=”0″ cellspacing=”0″ border=”0″ align=”center”>
    <tr>
    <td width=”150″ valign=”top” bgcolor=”#8080FF”>
    <table width=”130″ cellpadding=”5″ cellspacing=”0″ border=”0″ align=”center”>
    <tr>
    <td>하위메뉴1</td>
    </tr>
    <tr>
    <td>하위메뉴2</td>
    </tr>
    <tr>
    <td>하위메뉴3</td>
    </tr>
    <tr>
    <td>하위메뉴4</td>
    </tr>
    <tr>
    <td>하위메뉴5</td>
    </tr>
    </table>
    </td>
    <td width=”650″ valign=”top”>
    <table width=”600″ cellpadding=”0″ cellspacing=”0″ border=”0″ align=”center”>
    <tr>
    <td>여기에 본문이 옵니다.</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
      • 다소 복잡한 테이블이지만 실제로 만들어 보면 크게 어렵지 않습니다.
  • 홈페이지 로고
  • 메뉴1
  • 메뉴2
  • 메뉴3
  • 메뉴4
  • 메뉴5
  • 하위메뉴1
  • 하위메뉴2
  • 하위메뉴3
  • 하위메뉴4
  • 하위메뉴5
  • 여기에 본문이 옵니다.
    • 너비의 단위는 %를 사용하였지만 100% 레이아웃을 차지하는 홈페이지가 아닌 이상 % 보다는 픽셀을 사용하는 것이 보다 일반적입니다.
      그리고 테이블의 셀안에 다시 테이블이 들어가는 것을 볼 수 있습니다.
      테이블을 이렇게 중첩시켜 나가면서 복잡한 레이아웃을 구현합니다.
      예제에서는 이미지를 전혀 쓰지 않았지만 대부분의 홈페이지 작업은 전체적인 화면의 이미지를 먼저 만들고 이 이미지를 잘라서 테이블을 이용하여 배치를 하는 방식으로 진행됩니다.

메타 태그

  • HTML문서가 어떤 내용을 담고있고, 문서의 키워드는 무엇이며, 누가 만들었는지 등의 문서 자체의 특성을 담음.
  • 문서의 헤더부분에 위치해야함.
  • 속성
    • <meta name=”subject” content=”메타태그강좌”>
    • <meta name=”title” content=”메타태그”>
    • <meta name=”author” content=”homejjang”>
    • <meta name=”keywords” content=”메타태그,HTML”>
  • 검색엔진에게 문서의 내용 요약. 검색엔진이 메타태그를 수집하여 참고는 함.
  • 홈페이지의 주소가 바뀌었을때
    • <meta http-equiv=”refresh” content=”5;url=http://www.homejjang.com/”>
    • 5초뒤에 url속성값으로 지정한 페이지로 이동한다는 의미. http-equiv속성값을 지정된것과 같이 refresh한다는 의미
    • 즉 위와 같은 메타태그가 입력된 페이지는 읽지 않은걸로 인식하겠다는 의미
  • 한글로 작성된 홈페이지라는 걸 웹브라우저에게 알리기
    • <meta http=equiv=”content-type” content=”text/html; charset=euc-kr”>

이미지맵

  • 하나의 이미지에 여러개의 링크를 걸때 사용.
  • HTML소스가 간단해지는 장점
  • 만들기
    • <img src=”haha.gif” usemap=”#001″>    //usemap속성을 사용하여 이미지맵의 이름 지정
    • <map name=”001″>    //map태그를 사용하여 이미지맵 만들기
    •     <area shape=”rect” coords=”42, 41, 154, 66″ href=”/01/hahaha.php” target=”_blank”>
      • area : 하이퍼링크의 영역 지정.
      • shape : 이미지맵의 형태 지정. rect, circle, poly등 속성값
      • coords : 좌표값 지정. 까다로우니 텍스트 에디터에서 직접 코딩 않고 다른 유틸리티 사용.

아이프레임(iframe) Inline Frames

  • 내부 프레임. 하나의 HTML문서 내에서 다른 HTML문서를 보여주고자할때 사용
  • 그냥 프레임과 차이점 : frameset태그 내에 사용하지 않아도 됨. 독림적으로 <img>태그 사용하듯 문서내에서 원하는 위치에 삽입가능.
  • <iframe src=”http://www.homejjang.com&#8221; width=”600″ height=”300″ frameborder=”0″ marginwidth=”0″ marginheight=”0″ scrolling=”yes”>
    • 프레임이랑 같다.

입력양식(form)

  • 홈페이지에서 사용자에게 정보를 받을때 사용.
  • 입력양식(form)의 구성
    • 입력양식의 범위를 지정할 뿐 화면상에는 아무런 내용 표시 ㄴㄴ
    • <form>과 </form> 사용자가 실제적으로 값을 넣을 수 있는 텍스트박스나 체크박스 등이 위치.
  • 속성
    • <form method=”get” action=”member_confrim.php”>
    • method : 웹서버와의 통신방법 지정. post. get
    • action : 입력양식에 입력된 값을 받아 DB에 저장하는 페이지 지정. php나 asp같은 웹스크립트 언어를 이용하여 제작
  • 텍스트필드
    • <input type=”text” name=”member_name”>
    • type : 폼 필드의 종류를 지정.
    • name : 폼 필드의 이름 지정. 하나의 폼 안에서 name속성의 값은 고유한 값이어야함. 폼이 전송된 후 폼을 처리하는 파일에서 각 폼 필드를 구분하기 때문
    • type과 name속성은 텍스트필드뿐 아니라 모든 폼 필드에 공통적으로 사용되는 속성.
    • size : 텍스트 필드 크기지정. 안쓰면 기본값은 20
    • maxlength : 텍스트필드에 입력가능한 글자수의 최대값.
    • value : 텍스트필드에 입력되는 기본값 지정가능.
  • 패스워드 필드
    • <input type=”password” name=”pass”>
    • ***로 표시된다.
  • 텍스트에어리어(textarea)
    • 텍스트필드는 한줄입력인데 반해 이건 여러줄.
    • <textarea rows=”5″ cols=”30″ name=”contents”>기본값은 여기에 적어준다.</textarea>
  • 셀렉트박스(콤보박스, pull-down menus)
    • <select name=”job”>
    •     <option value=””>직업선택</option>
    •     <option value=”학생” selected=”selected”>학생</opion>
    •     <option value=”회사원”>회사원</opion>
    •     <optgroup label=”sports”>
    •         <option value=”축구”>축구</opion>
    •         <option value=”야구”>야구</opion>
    •     </optgroup>
    •     <option value=”기타”>기타</opion>
    • </select>
    • 여기서의  value는 텍스트필드에서의 value랑은 다름. 옵션이 선택된 경우 전송되는 값 지정.
    • selected : 기본값으로 “학생”이 선택된채로 출력
    • optgroup : 옵션에 카테고리 만들 수 있음
  • 체크박스
    • 셀렉트박스랑 라디오버튼이 하나만 선택가능한 반면 체크박스는 여러개 선택.
    • <input type=”checkbox” name=”chk_info” value=”HTML”>HTML
    • <input type=”checkbox” name=”chk_info” value=”CSS” checked=”checked”>CSS
    • <input type=”checkbox” name=”chk_info” value=”웹디자인”>웹디자인ㄴ
    • value : 선택시 전송해주는 값 지정
    • checked : 기본으로 선택된채로 출력
    • name속성들이 같다->HTML, CSS선택하면 chk_info필드의 값은 “HTML, CSS”이런식으로 들어감
  • 라디오박스
    • 체크박스랑 비슷하나 하나만 선택
    • <input type=”radio” name=”chk_info” value=”HTML”>HTML
  • 리셋버튼
    • <form name=”input” method=”post” action=””>
    •     <input type=”text” name=”memberName”>
    •     <input type=”reset” value=”초기화”>
    • </form>
  • 전송버튼
    • <form name=”input” method=”post” action=””>      //액션 속성 지정해야함
    •     <input type=”text” name=”memberName”>
    •     <input type=”submit” value=”전송”>
    • </form>
  • 이미지 버튼
    • 전송버튼의 역할을 하면서 이미지로 출력되는 버튼
    • <input type=”image” src=”submit.gif”>
  • 파일
    • 게시판 등에 첨부파일을 업로드하는 경우 찾아보기 버튼을 사용
    • <form method=”post” action=”” enctype=”multipart/form-data” name=””>
    •     <input type=”file” name=”fileName”>
    • </form>
  • 히든 필드
    • 사용자가 입력하거나 선택하는 정보는 아니지만 폼 전송이 같이 전송해줘야 하는 정보
    • 예) 회원가입시 사용자의 아이피를 받는 경우
    • <input type=”hidden” name=”UserIP” value=”<?echo $$REMOTE_ADDR?>”>
    • <?echo $$REMOTE_ADDR?> : PHP코드의 일종. 사용자의 아이피를 인식하는 코드
  • label
    • 사용자가 인풋박스, 체크박스, 라디오버튼 등을 더 쉽게 누를수있도록.
    • 라벨부분 클릭해도 선택됨
    • label의 for속성의 이름과 폼요소의 id값을 같게하면 됨
    • <label for=”html”>HTML</label><input name=”checkboxinfo” type=”checkbox” id=”html”>

배경음악

  • 속성
    • autostart=”true/false” : false면 플레이버튼 눌러야 음악재생
    • hidden=”true/false” : 미디어플레이어가 화면에 표시되느냐?
    • loop = “true/false” : 음악의 반복여부
    • width=”20″ height=”30″ : 미디어플레이어 크기조절. 동영상파일일땐 적절히 조절 필요.
    • Showcontrols=”value” : 미디어플레이어, value값은 0, 1
    • VOLUME=”수치값” : 플레이되는 음악소리크기 임의설정
    • hspace=”value” vspace=”value” : 수직/수평 여백값.
    • mute=1 : 음소거

필드셋

  • filedset element : 서로 연관성있는 컨트롤들을 하나로 묶을 수 있게 해줌
  • legent element : 제목을 붙이는 역할
  • <filedset>
  •      <legend><b>메일링 리스트</b></legend>
  •      <input type=”checkbox”>html
  •      <input type=”checkbox”>css
  •      <input type=”checkbox”>java
  • </fieldset>

마퀴

  • 스크롤 되는 영역을 지정.
  • <marquee direction=”right”>오른쪽 방향으로 흐르는 텍스트</marquee>
  • behavior : 컨텐츠가 어떻게 스크롤될건지를 지정
    • scroll : 기본값. 마퀴 영역의 경계에서부터 스크롤
    • slide: 스크롤과 거의 동일하지만 마퀴 영역의 경계에서 더이상 스크롤안되고 멈춤.
    • alternate : 왔다갔다
  • scrollamount =”10″: 한번 스크롤될때마다 얼만큼 되는지 지정. 기본값:1px
  • loop =”1″: 스크롤되는 횟수 지정. 기본값은 -1. 계속적으로 반복해서 스크롤된단 의미.
  • width=”300″ height=”100″ : 스크롤되는 영역 지정
  • 기타 : align, hspace, vspace, transparency등 속성

오브젝트

    • 문서 내에 플래시나 동영상같은 객체를 삽입하는데 사용.
    • embed엘리먼트는 자신의 컴에 해당 미디어파일을 실행할 수 있는 프로그램이 없다면 실행안됨. 그러나 object엘리먼트는 웹에서 객체를 로드해서 재생되므로 프로그램 없어도 실행가능.
  • 플래시 삽입
  • 슬라이더 삽입
  • 퀵타임 무비 삽입
  • 리얼 비디오 삽입
  • <body topmargin = “100”> : 본문 상단여백 100픽셀

주석

  • <!– 여기에 주석 내용이 옵니다. –>
  • 실무에서 많이 사용

줄바꾸기

  • html은 스페이스와 엔터를 여러번 사용하더라도 하나만 인식함.
  • <p>첫 번째 문단</p>
  • <p>두 번째 문단</p>     이렇게 하면 첫번째 문단과 두번째 문단 사이에 공백라인이 들어간다.
  • <br> : line break 태그. 강제 줄바꿈
    • 진유림<br>짱짱맨
    • <br>태그의 남용을 피하자->가능한 글의 한문단을 의미하는 <p>태그를 사용하고 넓게 출력 방지 위해 css사용
    • <p style=”width:400px;”>홈짱닷컴의 홈페이지 제작강좌는 초보자를 대상으로 합니다. 그러므로 가능한 쉬운 용어를 일관성 있게 사용할려고 노력하고 있습니다.</p>
  • <p align=”left”>왼쪽정렬. 디폴트값</p>
    • center, right, justify(양쪽정렬)

표제(Heading)

  • 볼드체로 적용되고, H1이 가장 중요한 의미 가짐(크기가 크다).
  • <h1>Heading1</h1>
  • <h2>Heading2</h2>

텍스트 관련 태그

  • 물리적 태그 : 텍스트가 화면에 출력되는 형식을 지정
  • 논리적 태그 : 화면에 출력되는 형식보다는 태그 자체가 가지는 의미
  • <font size=”5″>텍스트 크기</font>
  • <font color=”red”>텍스트 색상</font>
  • <font face = “돋움”>텍스트 글꼴</font>
  • <font size=”5″ color=”red”>같이 쓰기</font>
  • 특수문자

링크

  • <a href=”http://naver.com>네이버</a&gt;
  • <a href = “http://naver.com&#8221; target=”blank”>네이버 새창에서 열기</a>
    • target속성 : 링크가 걸린 페이지를 어떻게 열 것인가를 결정
  • <a href = “http://naver.com&#8221; target=”blank” title=”열어버리자”>네이버 홈페이지 열기</a> //커서 올리면 설명 뜸
    • title 속성 : 링크의 이름을 지정하는 속성
  • 내부링크(책갈피 기능)
    • 링크에 이름을 지정해 문서내에서 이름을 이용해 이동이 가능(페이지이동 X 스크롤통한 이동O)
    • <p><a href=”#bottom”>문서의 하단으로</a></p>
    • <p><a name=”bottom”>여기가 문서의 하단</a></p>

이미지

  • 이미지 삽입
    • <img src=”이미지경로” width=”100″ height=”200″>
  • 절대경로
    • 고유한 경로. http://포함된 경로. c:home/images/tree.gif도 절대경로
    • 이것보단 상대경로를 이용해 이미지 삽입이 더 좋다.
  • 상대경로
    • 이미지를 삽입할 HTML문서를 기준으로 경로를 인식
    • 이미지 파일이 HTML문서와 같은 폴더에 있는지, 상위폴더에 있는지, 하위폴더에 있는지를 따져보고 경로를 지정.
    • 상위폴더 이동 : ../
  • 이미지 정렬(align)
    • <p><img src=”t.jpg” align=”top”>글씨는 이미지 옆 위에 나온다</p>
      • top, middle, bottom. 이미지와 텍스트의 배치
    • 이미지와 텍스트의 여백 조절
      • <p><img src=”t.jpg” align=”left” hspace=”5″ vspace=”5″>여백여백</p>
      • horizon space, vertical space의 약자.

  • 문서 전체 배경화면 회색
    • <body bgcolor=”gray”>
  • 글자색
    • <font color=”gray”>폰트색회색</font>

배경

  • 문서 전체에 배경적용. 패턴으로 깔림
    • <body background=”bg.jpg”>
  • 테이블
    • <table bgcolor=”gray”>
    • <tr>
    • <td>회색배경 가진 테이블</td>
    • </tr>
    • </table>

테이블

    • HTML에서 가장 많이 사용되는 태그
    • 종류
      • <table> : 테이블의 시작
      • <tr> : table row. 행을 정의
      • <td> : table data. 각 행에 셀을 정의. 즉 행에서 칸(열)을 나누는 기능.
    • 2행 2열 가진 테이블
      • <table border=”1″>
      • <tr>
      • <td>1*1 셀</td>
      • <td>1*2 셀</td>
      • </tr>
      • <tr>
      • <td>2*1셀</td>
      • <td>2*2셀</td>
      • </tr>
    • 각 열마다 동일한 행으로 이루어져야 한다.
  • 위와 같이 첫번째 열(row)은 1개의 행(column)을 가지고, 두번째 열(row)은 2개의 행(column)을 가지게 만들면 아래처럼 제대로 모양을 갖추어 지지 않습니다.
  • 1*1 셀
  • 2*1 셀
  • 2*2 셀
  • 첫번째 열을 오른쪽으로 확장시켜 주어야 합니다. 이때 사용하는 속성이 colspan 입니다.
  • <table border=”1″>
  • <tr>
  •  <td colspan=”2″>1*1 셀</td>
  • </tr>
  • <tr>
  •  <td>2*1 셀</td>
  •  <td>2*2 셀</td>
  • </tr>
  • </table>
  • 위와 같이 colspan=”2″로 지정하면 아래와 같이 의도한 대로 모양이 나옵니다.
  • 1*1 셀
  • 2*1 셀
  • 2*2 셀
  • 즉 첫번째 row의 column수가 1개이고, 두번째 row의 column 수가 2개이므로 이를 동일하게 맞추어 주기 위해서 첫번째 row의 셀에서 colspan 속성을 사용하였습니다.
    열을 확장할때는 rowspan 이라는 속성을 사용합니다.
  • <table border=”1″>
  • <tr>
  •  <td rowspan=”2″>1*1 셀</td>
  •  <td>1*2 셀</td>
  • </tr>
  • <tr>
  •  <td>2*2 셀</td>
  • </tr>
  • </table>
  • 1*1셀의 열(row)을 확장했으므로 2열(row)에서는 첫번째 셀이 필요없습니다.
  • 1*1 셀
  • 1*2 셀
  • 2*2 셀
  • 여기에서 중요한것은 확장을 하는 방향입니다.
    왼쪽에서 오른쪽으로 column을 확장하는 경우 colspan,
    위에서 아래로 row를 확장하는 경우는 rowspan
    이렇게 기본적으로 기억하면서 colspan과 rowspan 속성을 자유자재로 다룰 수 있어야 합니다.
    아주 빈번하게 사용되므로 시간표 같은것을 만들어 보면서 충분한 연습을 해주어야 합니다.
      • 여백과 경계선
        • 경계선 두께
          • <table border=”3″>
        •  셀 여백 지정
          • <table cellpadding=”10″>
        • 셀과 셀 사이의 공간 지정
          • <table cellspacing=”5″>
      • 너비와 높이
        • 너비/높이
          • <table width=”200″ height=”100″>
          • 일반적으로 테이블의 높이는 잘 지정 ㄴㄴ
        • 테이블의 셀 너비
          • <td width=”50″>50 픽셀</td>
      • 테이블 자체를 정렬
        • <table border=”1″ align=”center”>

프레임

      • 하나의 웹브라우저 화면에 여러개의 HTML문서를 표시할때 사용.
      • 주로 네비게이션(메뉴)와 컨텐츠 부분을 분리하기 위해 사용.
      • 창을 좌우로 나누고 왼쪽프레임엔 홈짱, 오른쪽프레임엔 네이버를 불러오기
      • frameset
        • 문서를 어떻게 나눌것인가. cols=”25%, 75%”는 문서를 수평으로 2개의 프레임으로 나누고, 프레임의 넓이 비율을 25, 75로.
        • %말고 픽셀값으로도 표현 가능.(메뉴의 너비 고정할때)
          • cols=”200,*”이런식. 왼쪽 프레임의 너비를 200픽셀로 지정하고, 오른쪽 프레임은 나머지 영역을 할당하라는 의미.
      • frame
        • 프레임안에 들어가는 문서의 속성을 지정하는 태그
        • 프레임 경계선 표시. 0이면 안보이고 1이면 보임
          • frameborder=0
        • 프레임의 여백 지정
          • marginheight=”20″
          • marginwidth=”0″
        • 프레임명 지정
          • name=”menu_frame”
          • 하이퍼링크의 타겟 설정할때 중요한 의미
        • 프레임의 크기 고정하고 싶을때
          • noresize
        • 프레임내에 스크롤바 생길지 여부 지정. yes:생김 no:안생김 auto:문서가 프레임크기보다 크면 자동으로 생김
          •  scrolling=”auto”
      • 2개 이상의 프레임으로 나누기(프레임태그 중첩)
  • <frameset rows=”100,*”>
  •     <frame src=”top_menu.html”>
  •     <frameset cols=”200,*”>
  •         <frame src=”left_menu.html”>
  •         <frame src=”contents.html”>
  •     </frameset]]>
  • </frameset>
        • frame으로 나누어진 문서에서 타겟 설정 방법
          • 먼저 아래와 같이 코딩한 다음 menu.html 로 저장합니다.
            이는 왼쪽 프레임에 위치할 문서입니다.
          • 위의 소스를 보면 링크의 타겟값을 right로 지정했음을 알 수 있습니다.
            이는 right라는 이름을 가지고 있는 프레임에 링크가 걸린 페이지를 불러온다는 의미입니다.
            frame.html
            왼쪽 문서가 만들어졌으면 이제는 프레임을 정의하는 문서를 만들어 보겠습니다.
            아래와 같이 코딩한 다음 frame.html로 저장합니다.
  • <frameset cols=”150,*”>
  •     <frame src=”menu.html”>
  •     <frame src=”http://www.homejjang.com” name=”right”]]>
  • </frameset>
          • 왼쪽 문서의 링크의 타겟값이 right로 지정했으므로 오른쪽 프레임의 name 값을 right 지정해야 합니다.
            이렇게 타겟값과 프레임의 이름을 동일하게 맞춰주어야만 링크한 문서가 타겟에 설정한 프레임에 나오게 됩니다.

리스트

        • 순서 있는 리스트(Ordered lists)
          • <ol>
          •     <li>리스트1</li>
          •     <li>리스트2</li>
          • </ol>
        • 순서 없는 리스트(Unordered lists)
          • <ul>
          •     <li>쩜리스트</li>
          •     <li>쩜리스트2</li>
          • </ul>
        • type
          • <ol type=”A”>
            • A, B, C…  이런 리스트 만들 수 있음
            • a, I, i, 1등을 사용 가능
        • 정의 목록
          • <dl>
          •     <dt>악어</dt>
          •     <dd>입이 길고 큰 동물</dd>
          • </dl>

div & span

        • 의미적으로 중립
          • 아무런 의미도 부여되지 않은 요소
          • id, class속성과 함께 사용하여 문서에 구조를 더해준다.
          • 컨텐츠를 묶고, 추가적인 정보를 제시, 스타일과 동작을 더하기 위한 구실을 해줌.
          • 나중에 HTML문서를 흝어보았을 때 이것이 페이지의 어떤 부분인지 단서를 제공
        • 인라인 & 블럭
          • div
            • 블럭 요소 : 문서의 구조를 표현하는데 도움됨.
            • division 의 약자
            • 다른 블럭 레벨 요소들을 감싸서 하나로 묶는 역할 한다.
          • span
            • 인라인 레벨의 포괄적 컨테이너
            • 문서 구조 묶는데 도움
            • 인라인 요소들 또는 평범한 텍스트들을 감싼다.