발췌  : KIPA 작성 웹표준 지침

 

 

 

 

 

 

<div id="articles">

    <ul id="notice">

    ...

    </ul>

    <ul id="news">

    ...

    </ul>

    <ul id="stats">

    ...

    </ul>

</div>

 

article 은 세개의 하위 리스트를 포함하는 블록이고 하위의 ul은 모두 float를 사용하여 가로로 배치되어 있다. 이때에 상위 블록인 #articles에 background속성으로 색을 지정해 주면 색이 나타나지 않는 것을 알 수 있다. float된 ul들은 화면상에서 공간을 차지 하지 않기 때문에 #articles가 float된 ul만을 하위에 가지고 있으면 #articles의 높이가 0이 되어서 마치 배경색이 적용이 안되는 것같이 보이게 된다. 이를 해결하기 위해 과거에는 새로운 엘리먼트를 추가하거나 content속성을 이용하는 등 여러가지 방법이 있었지만 지금은 overflow 속성을 이용해는 방법이 가장 좋은 방법으로 여겨지고 있다.

#articles {

    width: 700px;

    margin: 20px auto;

    background: #ddd;

    overflow: auto;

}

위와 같이 상위 엘리먼트에 overflow에 auto값을 주게 되면 원하는 배경색이 나오는 것을 볼 수 있다.
Posted by 삽지리
,

국정브리핑 하다가 만들어봤담..

 

공공기관에서는 많이 쓰이니깐 좋을듯.

 

<script type="text/javascript" language="JavaScript" src="http://news.go.kr/ticker/korean_news_scroll.js" ></script>
                                         
                         <script type="text/javascript" language="JavaScript">
        <!--
        document.write("<ul>");
        for(i=0; i<NewsTitles.length; i++){
                  document.write("<li style='margin:0;padding:0;height:2em;width:175px;text-overflow:ellipsis; overflow:hidden;'><nobr>");
                  document.write(NewsTitles[i]);
                  document.write("<\/nobr><\/li>");
              }
              document.write("<\/ul>");      
        //-->
       </script>   

 

 

<script type="text/javascript">
         <!--
       doTickerUpper(document.getElementById("국정브리핑 div 아이디 "),2,NewsTitles.length);
      //-->
         </script>

 

 

 

function doTickerUpper(target, target_height, target_num) {
    var mover = target.getElementsByTagName("ul").item(0);

    // set
    mover.style.position = "absolute";
    mover.style.margin = "0 0 0 0";
    mover.style.top = "0em";
    mover.topPosition = 0;
 mover.status = "true";
 mover.onmouseover = function(){  
  this.status = "false";
 }
 mover.onmouseout = function(){  
  this.status = "true";
 }

    // duplicate text
    mover.style.height = target_height * target_num * 2 + "em";
    mover.innerHTML += mover.innerHTML;
 
    // set action
    mover.tickerAction = window.setInterval(
        function()
        {
   if(mover.status != "false"){
             if (mover.topPosition * -1 > (target_height * (target_num))) {
                 mover.topPosition = -0.05;
             } else {
                 mover.topPosition -= 0.05;
             }
   }
            mover.style.top = mover.topPosition + "em";
        }
    , 40);
}

 

 

------------------ 인터벌을 넣은 수정버전 --------------------------

 

/**
 * 사용자 메인 화면 공지사항 티커 스크롤되도록 하는 함수
 * @param {Object} target 스크롤 대상 객체
 * @param {Object} target_height 스크롤 너비
 * @param {Object} target_num 스크롤 갯수
 */
function doTickerUpper(target, target_height, target_num,move_length, interval,rest_interval) {
    var mover = target.getElementsByTagName("ul").item(0);

    // set
    mover.style.position = "absolute";
    mover.style.margin = "0 0 0 0";
    mover.style.top = "0em";
    mover.topPosition = 0;
 mover.status = "true";
 
 mover.moveheight = 0.0;
 var interval = (typeof interval != "undefined")? interval : 40;
 var rest_interval = (typeof rest_interval != "undefined")? rest_interval : 200;
 mover.onmouseover = function(){   
  this.status = "false";
 }
 mover.onmouseout = function(){  
  this.status = "true";
 }

    // duplicate text
    mover.style.height = target_height * target_num * 2 + "em";
    mover.innerHTML += mover.innerHTML;
 
    // set action
    mover.tickerAction = function()
        {
   var timer = interval;   
   if(mover.status != "false"){
             if (mover.topPosition * -1 > (target_height * (target_num))) {
                 mover.topPosition = -move_length;     
             } else {
                 mover.topPosition -= move_length;
             }
    
    mover.moveheight  += move_length;    
    if(mover.moveheight >= target_height){
     timer = rest_interval;
     mover.moveheight = 0.0;    
    }
    
   }
            mover.style.top = mover.topPosition + "em";
   window.setTimeout(mover.tickerAction, timer);
        } 
 mover.tickerAction();
   
}
Posted by 삽지리
,

참조 : http://naradesign.net/wp/2007/07/11/123/

http://blog.daum.net/eyeone/1489567

 

결론인즉슨 파란색을 구별못하는 색맹이 극소수라서 그런듯하다..

Posted by 삽지리
,

참조 : http://naradesign.net/wp/2007/07/11/123/

a 태그에 target을 넣지 말라는 이야기가 있다

이유인 즉슨

 

a 태그의 새창 띄우기

현재 HTML의 활성 표준인 XHTML 표준(strict) 명세에는 target 이라는 속성이 폐기(deprecated)되었으며 strict DTD를 사용하는 경우 target 속성은 더이상 유효하지 않습니다. 이것은 링크의 타겟 프레임을 사용자가 직접 제어하도록 유도하기 위한 방침이며 사용자의 의지와 관계없이 강제로 새창을 띄우는 것이 합리적인 방식이 아니라는 것을 의미합니다. 사용자는 Ctrl+Click, Shift+Click 등의 단축키를 이용하여 선택적으로 새창을 띄울 수 있습니다. target 속성으로 하여금 사용자의 의사에 반하는 새창 띄우기 관행은 사라져야 함이 옳습니다. 한편 현재 대부분의 웹페이지 제작자들이 사용하고 있는 transitional DTD를 사용하는 경우 target 속성을 여전히 유효하게 취급하고 있으므로 새창을 띄우는 것이 전혀 금기시 되는 상황은 아닙니다. 다만 그것이 불합리한 방식이며 링크 타겟에 대한 선택권을 점진적으로 사용자에게 돌려주도록 바꿔 나아가야 할 것입니다. 새창이 부담스러운 열악한 PC 사용자를 생각해서라도 그것이 맞고 이것은 접근성이슈인 동시에 사용성 이슈이기도 합니다.

 

 

이란다...

맞는말 같다..

좀 복잡한 사이트이 경우 2페이지이상 띄우면 문제가 될경우가 있다

만약 셀렉트박스로 사이트를 띄우는것이 아니라면

target을 주지 않는것이 맞지 않을가 싶다.

Posted by 삽지리
,

알고보니 맞지 않는 일자가 들어갈경우 이런일이 생긴다.

 

예를 들면

2008-04-31 << 과 같이 존재하지 않는 날짜를 넣으려고 할경우..

Posted by 삽지리
,

<html>
<head>
<script language='javascript' type='text/javascript'>
    function unload()
    {
  alert("unload 됩니다.")       

  if (self.screenTop > 9000) {
  // 브라우저 닫힘
  alert("브라우저가 닫힘.")
  } else {
   if (document.readyState == "complete") {
   // 새로고침
   alert("새로고침")
   } else if (document.readyState == "loading") {
   // 다른사이트로 이동
   alert("다른사이트로 이동");
   }
  }

    }
</script>
</head>
<body onunload="unload()">
 <a href="http://www.naver.com"> 네이버 </a>
</body>
</html>

 

 

-------------

 

오페라,사파리에서는 페이지 이동시에만 unload 이벤트가 발생한다.

 

파폭,익스는 3가지 이벤트를 다 잡아내지만 document.readyState가 표준 속성이 아니라서 파폭은 onunload이벤트만 잡아낸다.

 

Posted by 삽지리
,

C:\WINDOWS\system32\drivers\etc 에 있는 hosts 파일을 수정하려고 했는데..

안보여..

 

그래서 폴더옵션에서

파일 및 폴더 > 보호된 운영 체제 파일 숨기기(권장) 

이놈을 체크 풀고

숨김 파일 및 폴더 표시

를 했다.

 

그런데도 수정이 안돼..

알고보니 에디트 플러스로 열었더니 수정이 안된다..

그래서 노트패드로 열었더니 수정이 된다.

흠냥 -_-

Posted by 삽지리
,

체크 1 :

tracert 해당사이트주소

를 입력하였는데 중간에서 멈춘다.

다른사이트는 괜찮은데..

 

체크 2:

직접 공유기를 사용하지 않고 연결시에는 공공기관접속이 된다.

 

 

원인 ? 잘 모르겠다.

하지만 해결방법은

 

인터넷 연결성정에서 mac주소변경부분 체크박스를 풀거나 체크를 해서

외부 ip를 바꾸니 되었다..

 

이유는??

나도 잘 모르겠다 흠좀무

Posted by 삽지리
,

바로바로바로

도구 > 인터넷 옵션 > 고급 > 인쇄 > 배경색 및 이미지 인쇄를 체크 않해서 그렇다는거..

Posted by 삽지리
,

이클립스로 commit중에

  dev: cvs [server aborted]: Failed to obtain lock on mail.gif,v

 

이런에러가 떴다..

cvs서버 서비스와 락 서비스 stop하고 다시 start했더니 되네...

 

------

 dev: cvs server: Up-to-date check failed for `antispam/btn_back.gif'
  dev: cvs [server aborted]: correct above errors first!

 

이런메시지가 떳다

리플래쉬하고 다시 하니깐 잘된다.

----------

 

해결책은 위에것이 아니고.

실제로는 서버문제인듯

서버가 2003에 팬3..

한번에 3천개정도의 파일을 커밋하면 문제가 생긴다.

문제인 즉슨 파일이 커밋은 됐는데 내 로컬 피시의 파일에서 cvs 버전업이 안되는것..

그래서 또 커밋하라고 뜬다..

거기다가 cvs서버와 파일비교를 하면 충돌나거나 혹은 커밋이 아직도 안된파일이 있다고 한다.

이에 굴하지 않고 리플래쉬 하면..

죄다 충돌..

귀찮아서 로컬에 있는 파일 다지우고 업데이트 받았다

오버라잇 업뎃을 않한이유는 thumbs.db파일이 충돌시 오버라잇 업뎃하면..

에러가 떨어진다 제길슨

Posted by 삽지리
,