Search results for 'WEB/XHTML and CSS'

웹표준에서 HTML이 아닌 XHTML을 선택하나

2008/06/03 00:14
웹문서를 작성하는데 있어 HTML, XHTML, XML등을 이용하여 표현한다. 하지만 웹표준을 준수하고 표현하는 데에서는 XHTML을 이용한다. XHTML을 사용하는 이유는 사용가능한 요소와 속성이 HTML과 거의 같고, 배우기 쉬우며, 현재 나와 있는 브라우져들이 이를 충분히 지원하기 때문이다.

또한 아래와 같은 큰 특징들이 있다.

1. 빠른 데이터 처리와 안정적 브라우져 동작
2. 데이터 재 사용과 정보 공유 촉진
3. 네임스페이스 이용과 다양한 기기 대응


이올린에 북마크하기

happyness WEB/XHTML and CSS , ,

2008/06/03 00:14 2008/06/03 00:14
[로그인][오픈아이디란?]

구조와 동작의 분리

2008/05/22 00:52

웹표준에서 말하는 기본적인 철학이 구조와 동작, 표현의 분리이다.
아래 소스는 IE7, FF2에서 테스트 되었다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Structure와 Behavor의 분리</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="onload.js"></script>
<script type="text/javascript">
    //<![CDATA[
        // window.onload 에 함수를 등록한다.
        addOnLoadListener(addCountryEventListener);
       
        /*
         * 지정된 객체의 이벤트를 등록한다.
         * 참조: Document Object Model (DOM) Level 2 Events Specification
         *       http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/Overview.html
         */
        function addCountryEventListener() {
            var country = document.getElementById('country');
            if (country.addEventListener) {
                // IE가 아닌 경우
                country.addEventListener("change", setCountry, false);
            } else if (country.attachEvent) {
                // IE의 경우
                country.attachEvent("onchange", setCountry);
            }
        }
       
        function setCountry(e) {
            if (!e) var e = window.event;
           
            // IE의 경우 this 오브젝트를 사용할 수 없음.
            var tg = (window.event) ? e.srcElement : e.target;

            // IE의 경우 option value를 생략한 경우 선택한 값이 없으나,
            // FF의 경우 데이터를 가져옴.           
            document.getElementById('form1').selectedCountry.value = tg.options[tg.selectedIndex].value;
        }
    //]]>
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
    <dl>
        <dt>Select Country</dt>
        <dd>
            <select name="country" id="country">
                <option value="Korea">Korea</option>
                <option value="France">France</option>
                <option value="German">German</option>
                <option value="Italy">Italy</option>
            </select>
        </dd>
        <dt>Selected Country</dt>
        <dd>
            <input type="text" name="selectedCountry" id="selectedCountry" />
        </dd>
    </dl>
</form>
</body>
</html>


아래의 파일을 다운받으면 예저를 볼 수 있다.



이올린에 북마크하기(0) 이올린에 추천하기(0)

happyness WEB/XHTML and CSS

2008/05/22 00:52 2008/05/22 00:52
[로그인][오픈아이디란?]

본문에 CSS 정의가 존재하면?

2008/05/22 00:51

웹 페이지를 작성하다보면 BODY 내에 CSS를 정의하는 경우가 많다.
페이지를 여러개로 쪼개는 경우 이런 일이 발생할 소지가 꽤 끄다고 할 수 있다.
하지만, 브라우져의 경우 본문을 파싱하다 정의된 CSS를 만나면 처음부터 다시 파싱한다. (어라 CSS정의가 또 있네? 내가 빼먹은게 있나?)
이럴경우 페이지내의 컨텐츠가 많다면 당연 로딩속도가 느려지게 된다. 많으면 많을 수록 더욱 느려지는 건 당연지사...

아래의 예는 P 태그를 바디 안에서 다시 정의했다. 이경우 전에 나온 P 태그 또한 동일한 스타일 시트가 적용되는 것을 볼 수 있다.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS 파싱</title>
<style type="text/css">
p {
 font: 2em "Verdana, Arial, Helvetica, sans-serif" bold;
}
</style>
</head>
<body>
<p>first paragraph</p>
<style type="text/css">
 p { border: 1px solid #00F; }
</style>
<p>second paragraph</p>
</body>
</html>


이올린에 북마크하기(0) 이올린에 추천하기(0)

happyness WEB/XHTML and CSS

2008/05/22 00:51 2008/05/22 00:51
[로그인][오픈아이디란?]