레이블이 css인 게시물을 표시합니다. 모든 게시물 표시
레이블이 css인 게시물을 표시합니다. 모든 게시물 표시

2009년 4월 15일 수요일

[CSS]크로스브라우징 input 박스

input 박스에는 여러가지가 있습니다. (라디오,체크박스,텍스트박스등)

 

여기에서 라디오 박스와 체크박스는 IE와 타브라우저에서 외곽여백의 차이가 있습니다.

이런경우를 잘모르는 웹디자이너 같은 경우 무조건 자기디자인 데로 해달라고 요구하곤하죠.. 그것도 익스에만 맞춰달라면서...참피곤한 경우죠. 물론 디자이너 입장에서는 그게 정답이고, 퍼블리셔 입장에서 맞춰주는것도 해야할일중에 하나일수는 있습니다. 그래서 협업이 중요한거 같습니다.

 

여튼 이럴때 해결방법입니다.

 

먼저 소스를 살펴보겠습니다.

 

<!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=euc-kr" />
<title>웹미니 input 박스테스트</title>
<style type="text/css">
body {font:12px "돋움", Dotum;}
</style>
</head>

<body>
<form name="form1" method="post" action="">
<input type="checkbox" name="checkbox" /><label for="test">테스트</label>
</form>
</body>
</html>

 

위와 같은 소스를 출력하면 다음과 같습니다.

 

 

 

익스와 파폭,사파리는 기본적으로 4px 이라는 외곽여백이 존재하며, 오페라는 3px 여백이 있었습니다.

세로여백은 top 라인에서 익스는 2px, 파폭과 사파리는 3px, 오페라는 0px 여백이 있었습니다. (여기서 사파리는 버전이 4입니다.)

 

그럼 여백을 초기화 해보기로 합시다.

 

<!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=euc-kr" />
<title>웹미니 input 박스테스트</title>
<style type="text/css">
* {margin:0; padding:0;}
body {font:12px "돋움", Dotum;}
</style>
</head>

<body>
<form name="form1" method="post" action="">
<input type="checkbox" name="checkbox" /><label for="test">테스트</label>
</form>
</body>
</html>

 

여기에서 초기화 방법도 여러가지겠지만, 저는 테스트로 * 를 사용했습니다.

body, table, div, input {margin:0; padding:0;} 이런식으로 해줘도 됩니다. 어떤방법이던간에 중요한건 input 에 여백을 0 으로 만드는겁니다.

 

 

 

익스를 제외하고 타브라우저에서는 여백이 줄어든걸 볼수있습니다. (역시 익스는 끄덕없습니다. 어쩔~ -.-)

input 에 여백을 주지 않을경우는 많은 차이가 없었지만, 여백을 0 으로 하니 브라우저마다 보여지는 차이가 커졌습니다.

 

그럼 이걸 어떻게 맞출까? 방법은 여러가지 겠지만 class 로 input 에 직접 적용해보겠습니다. (물론 여백은 0 으로 했을때 입니다.)

 

<!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=euc-kr" />
<title>웹미니 input 박스테스트</title>
<style type="text/css">
* {margin:0; padding:0;}
body {font:12px "돋움", Dotum;}
.input_m {width:13px; height:13px; vertical-align:middle;}
label {position:relative; top:1px;}

</style>
</head>

<body>
<form name="form1" method="post" action="">
<input type="checkbox" name="checkbox" class="input_m" /><label for="test">테스트</label>
</form>
</body>
</html>

 

 

가로 여백(1px) 은 익스와, 파폭, 사파리가 동일하고, 오페라는 2px 벌어졌습니다. 그리고 세로 여백은 사파리를 제외하고 모두 동일해졌습니다.
너무 붙어있는거 같으니, 조금 여백을 주도록하겠습니다.

.input_m {width:13px; height:13px; margin-right:4px; vertical-align:middle;}

 

 

사파리에서 약간의 차이가 있긴하네요. 이래서 핵이 필요한가 봅니다. -.-

위처럼 했는데도 디자이너가 모든브라우저에서 확인후 "어 사파리에서 텍스트가 조금 올라겠네요?" 라고 태클을 걸어온다면, 깔끔하게 핵을 써주세요. (체크와 라디오박스에서 핵사용없이 1px 오차도 없게 하는 방법이 있으면 알려주세요.)

 

다른방법으로는 * {margin:0; padding:0;} 을 준상태에서 익스만 여백이 그대로이기때문에 익스만 margin-right:-4px 로 주는 방법도 있긴합니다. (익스전용 핵을 사용해야겠죠)

 

어떻게 초기 구조화를 할건지는 제작할 사이트의 특성을 보고 판단하시기 바랍니다. ex) input 전체에 적용할것인가, 아님 class로 뺀후 부분부분만 적용을 할것인가... (차후에 유지보수할때 쉬운쪽으로..)

 

 

만족된 결과는 아니지만, 확인해보시고 또 다른 좋은 방법이 있으면 알려주세요.^^; (공유합시다.)

 

추가 : 위와 같이 할경우 텍스트 필드일경우는 저 class 적용을 안하시면 됩니다. 만약에 전체에 적용을 하셨다면, 텍스트 필드 스타일에 !important 로 우선순위를 먼저 두셔도 되구요^^

2009년 2월 16일 월요일

[CSS]IE6 스타핵으로 png 배경으로 적용시 링크가 안먹힐때

png 를 배경으로 할경우 익스6에서는 png를 지원하지 않기에 스타핵이나 언더바핵으로 png를 css에서 처리해주었습니다. 하지만 배경위에 텍스트나 이미지에 링크값이 들어갈경우 익스6에서 링크가 안먹히게 됩니다.
이럴경우 해당 링크 즉 png 배경위에 링크 부분에 position:relative; 를 주시면 해결됩니다.
(이미지가 겹치는 부분만 링크가 안먹힙니다.)

ex)

css 소스
* html #png {background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img.png',sizingMethod='crop'); }



<div id="#png"><a href="http://www.webmini.net" style="position:relative;" >웹미니 바로가기</a>

위와 같이 a 태그 안에 style에 position:relative; 를 추가해주시면 됩니다.
물론 class 로 불러와도 되며, 아래와 같이 해당 id 값 a 링크부분에 정의를 해주셔도 됩니다.

#png a {position:relative;}

해당 png 안에 있는 모든 a 태그는 전부 적용이 되는 형식입니다.

익스6이 사라지는 그날까지...
 

2009년 2월 6일 금요일

[CSS]메일링 코딩 스타일

· 메일링 코딩스타일 적용테스트 (외부스타일 제외)


메일링 코딩을 할때 여러분들은 웹표준에 맞춰 코딩을 하는지요?

메일링은 웹페이지로 볼수 없으며, 구조화를 시킬 필요도 없고, 시킬수도 없다는게 제 개인적인 생각입니다.
그래서 몇가지 테스트를 해보았습니다. 사실 꽤 오래전에 테스트를 한건데 이제서야 공유를 합니다.

css 를 부르는 방법은 크게 3가지로 분류 됩니다, (외부스타일, 내부스타일, 인라인스타일)
여기서 외부스타일은 메일제공 사이트와 class 충돌문제가 발생할수 있어 테스트 항목에서 제외시켰습니다.
총 테스트 방법은 3가지(옛날방식, 인라인방식, 내부스타일) 이며, 자주이용하는 메일 9개만 테스트 해보았습니다.


  옛날방식 인라인스타일 내부스타일 비고
Daum O O O  
네이버 O O X 이미지를 첨부파일로 인식, 내부스타일 적용안됨
야후 O O O  
파란 O O O 이미지를 첨부파일로 인식
구글(G메일) O X X 스타일 적용안됨
엠파스 O O O  
네이트 O X X 스타일 적용안됨, 이미지를 첨부파일로 인식
코리아닷컴 O O O 이미지를 첨부파일로 인식
Outlook Express O O O  


● 간단하게 3가지 방식을 설명을 드리자면

- 옛날방식 : 배경이미지나, 폰트사이즈, 컬러등을 css 로 입히는 방식이 아닌 엘리먼트 안에 직접적으로 해당소스를 삽입하는 방법입니다. ex)<td background="http://www.webmini.net/test_bg.gif">
- 인라인스타일 : 배경이나, 폰트사이즈, 컬러등을 해당 엘리먼트 안에 스타일을 주는 방식입니다. ex)<td style="background:url(http://www.webmini.net/test_bg.gif) no-repeat;">
- 내부스타일 : 해당 페이지 안에 style 소스를 선언후 class 로 불러오는 방식입니다. ex) .wrap --> <td class="wrap">

테스트 결과 네이버, 구글, 네이트는 내부스타일과 인라인스타일이 적용 되지 않았습니다.
스타일이 적용되지 않는 이유는 스타일 충돌이 생겨 메일사이트가 깨지는 경우를 대비해서 해당사이트에서 차단한듯 보여집니다.
위에서도 알수 있듯이 공통적으로 동일하게 보여지게 하기 위해선 옛날방식 (table 방식) 으로 진행이 되어야 하며, 스타일 적용이 되지 않는 곳이 있기에 div 방식은 피하는것이 좋을듯 보여집니다.

2009년 2월 4일 수요일

[CSS]IE6 스타핵에서 띄어쓰기

크로스브라우징을 위해 CSS hack 를 사용할때가 종종 있습니다.

IE6 용으로는 스타핵을 사용합니다. ex)* #footer
어떤사람은 *html 이렇게 붙혀서 사용하고, 또 어떤사람은 * html 이렇게 띄어서 사용합니다.
과연 차이점이 뭘까요?

http://jigsaw.w3.org/css-validator/

위에서 CSS 체크를 해보면 *html 는 error 로 잡고, * html 은 error 로 잡지 않습니다.
하지만, IE6에서 결과값은 같습니다.

'CSS 마스터 전략' 에서는 * html 이렇게 띄어쓰는걸로 나와있습니다.

그렇다면 에러로 안잡는 * html 요게 맞다는 얘기인데..
마찬가지로 IE6 전용 '언더바핵'도 error 로 잡습니다. ex)_margin:10px;
언더바핵보다는 스타핵이 소스가 조금더 길어진다는 부분을 빼고는 스타핵을 사용하는게 더 좋을듯 싶네요.
제일 좋은건 핵을 사용안하는것과 IE6이 세상에 없어지는게 베스트긴 하겠지만요.^^

핵을 사용할때도 정확히 알고 사용해야겠다는 생각이 드는군요..
여러분들은 어떻게 사용하셨나요?

2009년 1월 6일 화요일

[CSS]css로 장난치기

이미지없이 css로 입체적인 박스 만들기, 삼각형 만들기등 여러군데서 응용 한것을 볼수있습니다.

 

참고글 : http://naradesign.net/wp/2008/10/28/165/

 

그래서 비슷한 방법으로 재미삼아 만들어봤습니다.

 

 

미리보기 :

테스트 브라우저 : IE6, IE7, Opera, Safari, FF

그닥 실용적이진 않지만, css로도 이런게 가능하구나! 라고 넘어가시면 될듯합니다.

 

<!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>Untitled Document</title>
<style type="text/css">
.box {border-style:solid;}
.border {width:120px; height:100px; border-color:#eee #333 #555 #aaa; border-width:30px 30px 40px 30px; background:#000;}
.box_txt {width:105px; height:85px; margin:5px 0 0 5px; border-top:3px solid #666; border-right:3px solid #999; border-bottom:3px solid #999; border-left:3px solid #444; background:#999; color:#fff; font-family:Tahoma; font-size:10px; text-align:center;}
.color {color:#fff200; font-size:12px;}
</style>
</head>

<body>
<div class="box border">
 <div class="box_txt">WWW.WEBMINI.NET <p class="color">웹미니</p></div>
</div>
</body>
</html>

 

2008년 12월 17일 수요일

[텍스트큐브]텍스트큐브에 로고를 이미지로 바꿔보자!

텍스트큐브 제공형(?)의 블로그 로고를 이미지로 바꾸는 방법입니다.

 

텍스트 큐브닷컴은 아직 beta 버전이라 스킨편집 기능을 지원하지 않습니다.

그래서 이만 저만 불편한게 아니지요..  다행이도 html 코드위젯은 지원함으로, 그걸이용하는 방법입니다.

예전에 텍스트큐브닷컴 블로그 수정하기 라는 글을 포스팅한적이 있습니다. 꼭참고 하시길 바랍니다.

 

텍스트 로고를 이미지로 바꾸는 방법은 다음과 같습니다.

 

먼저 원하는 로고이미지를 만든후 아무곳(?)이나 업로드합니다. 계정이 있으면 자신의 계정에 올리셔도 됩니다만, 저같은 경우는 아래와 같은 방법을 이용했습니다.

 

 

공지사항에 이미지를 업로드후 해당 이미지 주소를 복사하는 방법입니다.

 

 

이렇게 업로드된 이미지의 주소를 알기위해 이미지 속성을 확인합니다.

 

 

주소는 이런식으로 알아두시면 됩니다.

 

그런 다음 html 코드위젯에 이미지를 넣도록 하겠습니다.

코드위젯은 관리자 > 꾸미기 > 위젯에 위치해 있습니다.

 

 

html 코드위젯을 선택하시고 style을 주시면 됩니다. 예전에 포스팅 했을때도 언급했지만, 스타일의 우선순위는 인라인 > 내부 > 외부 로 인식을 하기때문에 외부보다 먼저인식하는 내부스타일을 이용하는 방법입니다.

 

 

소스는 다음과 같습니다.

 

<style type="text/css">
#header h1 {width:220px; height:35px; background:url(http://fs.textcube.com/blog/0/2036/attach/XA7VmjmTfX.png); text-indent: -99999px;}
* html #header h1 {background:none;  filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http://fs.textcube.com/blog/0/2036/attach/XA7VmjmTfX.png, sizingMethod=crop);}
</style>

 

저같은 경우는 로고를 투명 png 로 저장했기에, 위와 같이 IE6 핵을 사용했습니다. [참고글]

이미지 주소는 처음 알아낸 이미지 경로를 적어주시면 됩니다.

 

/* 주의 */

1. 로고사이즈(가로,세로)를 꼭 적어주세요.

2. 텍스트를 없애야 하기때문에 text-indent (들여쓰기)를 -99999px 로 주고, 텍스트를 숨깁니다.

3. png가 아닐경우 스타핵을 사용할필요는 없습니다.

4. 스킨마다 class 또는 id 명이 다르니 해당 명을 정확히 입력하셔야 합니다. (여러 방법이 있죠? 소스보기나, 파폭 부가기능을 이용하시면 됩니다.)

 

응용해 보세요.^^

 

 

2008년 11월 19일 수요일

[CSS]png 이미지로 상하좌우 유동적인 둥근박스 만들기

png 이미지로 유동적인 둥근박스 만들기 입니다.

유동적인 박스를 만드는 방법은 다양합니다. 하지만, 박스의 쓰임새에 따라서 조금씩 다를수 있습니다.
저는 상하좌우 모두 유동적인 박스를 만들어보려고 합니다.
매번 말씀드리지만 표현하는 방법은 여러가지이며 아래 예제는 그중에 하나라고 보시면 됩니다.

총두가지 table 방식과 div 방식으로 예제를 통해 알아보도록 하겠습니다.

첫번째 table로 둥근박스 만드는 방법입니다.


위와 같은 박스를 만들고자 할때 이미지는 다음과 같이 잘라줍니다. (이부분은 div도 동일합니다.)


투명 png로 저장을 하시고, 나머지 회색 부분은 배경컬러로 적용하시면 됩니다. 곡선이미지(png)는 총4개입니다.

밑에서 설명을 하겠지만, png으로 저장시 css에서만 조금 달라질뿐이며, png같은 경우 gif보다 투명곡선을 표현할때 좀더 깔끔하기에 png를 선택했을뿐입니다. 배경이 투명이 아닐경우는 구지 png로 하시지 않아도 됩니다.

아래는 테이블로 감싸고 있을때의 모습입니다.
table 소스는 다음과 같습니다.

<!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=euc-kr" />
<title>유동적인 둥근박스 만들기(테이블)</title>
<style type="text/css">
body table tr td {font-size:12px;}
.bg_gray {background:#e2e2e2;}
.top_left {width:20px; height:20px; background:url(bg_top_left.png) no-repeat;}
.top_right {width:20px; height:20px; background:url(bg_top_right.png) no-repeat;}
.bottom_left {width:20px; height:20px; background:url(bg_bottom_left.png) no-repeat;}
.bottom_right {width:20px; height:20px; background:url(bg_bottom_right.png) no-repeat;}
 /* IE6용 png 적용 */
*html .top_left {background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg_top_left.png',sizingMethod='crop') }
*html .top_right {background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg_top_right.png',sizingMethod='crop') }
*html .bottom_left {background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg_bottom_left.png',sizingMethod='crop') }
*html .bottom_right {background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg_bottom_right.png',sizingMethod='crop') }
</style>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td class="top_left"></td>
    <td class="bg_gray"></td>
    <td class="top_right"></td>
  </tr>
  <tr>
    <td class="bg_gray"></td>
    <td class="bg_gray">이곳에 내용을 채우시면 됩니다.</td>
    <td class="bg_gray"></td>
  </tr>
  <tr>
    <td class="bottom_left"></td>
    <td class="bg_gray"></td>
    <td class="bottom_right"></td>
  </tr>
</table>
</body>
</html>

IE6에서는 png 투명이미지가 지원되지 않습니다. 그러므로 IE6용으로 스타핵을 사용했습니다.
이부분은 [이글]을 참고하세요.

간단하게 설명을 드리자면 100% 테이블에 가로 세로 3개의 셀을 만드시고 4개의 곡선이미지를 style로 만든후 class로 불러들인 방식입니다. 그외 회색배경은 컬러로 적용을 했습니다.

첨부파일을 확인해보세요.
두번째로 div 방식입니다.


위와 같은 모양입니다.
이미지 자르는건 table과 동일하며 마크업 및 css만 다를뿐입니다.

<!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=euc-kr" />
<title>유동적인 둥근박스 만들기(div)</title>
<style type="text/css">
#wrap {margin:0; padding:0; font-size:12px;}
#header, #contents, #bottom {clear:both;}
.top_left {float:left; width:20px; height:20px; background:url(bg_top_left.png) no-repeat;}
.top_right {float:right; width:20px; height:20px; background:url(bg_top_right.png) no-repeat;}
.top_center {position:relative; height:20px; background:#e2e2e2; overflow:hidden;}
.contents_center {position:relative; padding:0 20px; background:#e2e2e2; overflow:hidden;}
.bottom_left {float:left; width:20px; height:20px; background:url(bg_bottom_left.png) no-repeat;}
.bottom_right {float:right; width:20px; height:20px; background:url(bg_bottom_right.png) no-repeat;}
.bottom_center {position:relative; height:20px; background:#e2e2e2; overflow:hidden;}
 /* IE6용 png 적용 및 3px버그용 */
*html .top_left {margin-right:-3px; background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg_top_left.png',sizingMethod='crop') }
*html .top_right {margin-left:-3px; background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg_top_right.png',sizingMethod='crop') }
*html .bottom_left {margin-right:-3px; background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg_bottom_left.png',sizingMethod='crop') }
*html .bottom_right {margin-left:-3px; background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg_bottom_right.png',sizingMethod='crop') }
</style>
</head>

<body>
<div id="wrap">
    <!-- header -->
    <div id="header">
        <div class="top_left"></div>
        <div class="top_right"></div>
        <div class="top_center"></div>
    </div>
    <!--// header -->

    <!-- contents -->    
    <div id="contents">
        <div class="contents_center">내용이 들어가는곳입니다.</div>
    </div>
    <!--// contents -->
    
    <!-- bottom -->
    <div id="bottom">
        <div class="bottom_left"></div>
        <div class="bottom_right"></div>
        <div class="bottom_center"></div>
    </div>
    <!--// bottom -->
</div>
</body>
</html>

첨부파일 확인해 보세요.
<div class="contents_center">내용이 들어가는곳입니다.</div>

위에 부분에는 ul 이 올수도 있고 p 가 올수도 있습니다. 각기 필요해 따라 마크업을 하시면 됩니다.

방법은 정말 다양합니다. 다만, 우리는 더욱더 편한걸 찾을뿐입니다. 위에 자료를 참고하셔서 더 좋은 방법을 찾길 바랍니다.^^

2008년 11월 13일 목요일

[텍스트큐브]텍스트큐브닷컴 블로그 수정하기

텍스트큐브닷컴이 (http://blog.textcube.com/) 아직 베타 버전이라 스킨편집기능을 제공하고 있지 않습니다.

 

어쩌면 텍큐닷컴 베타 사용자들(저를포함)이 가장 우선적으로 필요로 하는 기능이 아닐까? 라는 생각을 해봅니다.

스킨편집 기능이 되어야 구글광고도 포스팅부분에 달수있고, 스킨도 자기 스타일데로 꾸밀수 있을텐데 말이죠.

그래서 생각해낸게 html 위젯 기능을 이용한 방법입니다. 마크업을 마음데로 할수는 없어도, css로 스킨스타일은 바꿀수가 있습니다.

 

제블로그를 보시면 텍큐에서 기본제공되는 스킨에서 스타일만 바꿔준것입니다.

아마도 이게 css 구조의 사이트에 장점이 아닐까 하는 생각을 합니다.

 

그럼 사용방법을 잠깐 알아보도록 하겠습니다.

먼저 '내 블로그 관리하기'를 클릭후 관리자 페이지로 들어가십시오.

그후 상단메뉴 꾸미기 > 위젯 > 위젯 추가를 해주세요.

 

 

다행이도 베타이긴 하지만 html 코드 위젯을 제공합니다. 숨쉴구멍은 남겨두었네요.^^

위젯 코드를 선택하시고, 그안에 스타일을 기술합니다.

 

 

위와 같이 내부스타일을 이용하는 방법입니다. 스타일 우선순위는 인라인 > 내부 > 외부순입니다.

이걸 이용한것입니다. 스킨 구조를 보아하니 외부로 css를 불러들였습니다. 그래서 우선순위가 높은 내부스타일을 적용시켰습니다. [자세히보기]

 

위젯안에

 

<style type="text/css">

원하는 스타일

</style>

 

썩 좋은 방법은 아닙니다만, 이렇게 하는 방법도 있구나! 라고 알고 넘어가시면 감사하겠습니다.

 

위까지 해놓고 질문이 나올수 있습니다.

여기서 해당 레이아웃 id나 class 명을 어떻게 알아내나요?

 

파이어폭스 부가기능중에 firebug 라는 기능이 있습니다. 그걸 사용하시면 쉽게 알아낼수 있습니다.

어떻게요? 아래 이미지를 참고해주세요.

 

 

보시는 바와 같이 오른쪽 사이드바 id 명을 쉽게 찾을수 있습니다.

고로 위젯에 바꾸고자하는 id 명에 스타일만 추가해 주시고, class 도 같은 방법으로 하시면 됩니다.

 

이게 싫은신분은 소스보기로 해당소스를 찾는 방법도 있습니다. 요건 아마 귀찮을겁니다.

 

수정이 끝나셨으면, 해당 위젯을 사이드 바 적당한 위치에 넣으시면 되겠습니다.

저같은 경우는 프로필 위에 위치시켰습니다.

 

 

css를 이용해서 배경이미지도 바꿀수가 있으며 시간이 많으시다면, 레이아웃 위치도 바꿈으로 전혀 다른 스킨으로 재탄생시킬수도 있겠습니다.

 

다시 말씀드리지만, 위방법은 썩 좋은 방법은 아니며, 성격이 급한 분들을 위한 임시방편으로 보셨으면 합니다.

 

ps) 원상복구 시키고자 할시 해당 위젯을 삭제하시면 됩니다.^^

[CSS]png 투명이미지 css에서 배경 적용하기

IE6 이하버전에서 투명 png 이미지를 지원하지 않기 때문에 사용하는 팁이며, 이미 투명 png 에 관련된 팁들은 많이 나와있습니다. 그중에 하나라고 보셔도 됩니다.

 

스크립트로 적용하는 방법 : http://www.webmini.net/341 

 

css에서 배경만으로 할시 아래와 같이 적용하시면 되겠습니다.

스타핵을 이용한 방법입니다.

 

*html #img_png {margin-top:8px;background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='test.png',sizingMethod='crop') }

 

hack 자세히 보기 : http://www.webmini.net/322

 

나라디자인에서도 비슷한 팁이 올라와있습니다. 위에 팁도 같은 맥락으로 보시는게 맞을듯 합니다.

나라디자인에서는 _(언더바핵)을 사용한 경우입니다.

 

언더바 핵을 이용한 방법

 

.selector{background:url(png24.png); _background:none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’png24.png‘, sizingMethod=’crop’);}

 

언더바핵을 사용할경우 Win IE 4~6에서만 동작하고 그외 브라우저에서는 핵부분이 제외되서 읽혀 들이게 됩니다.

 

하지만 스타핵은 Win IE 4~6, Mac IE 4~5 에서 동작을 하기 때문에 그외 브라우저용으로 하나더 만들어야 하는 불편함이 있습니다. 아래를 참고하세요.

 

#img_png {margin-top:8px; background:url(test.png) no-repeat;} // Win IE 4~6 외 타브라우저용

 

*html #img_png {margin-top:8px;background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='test.png',sizingMethod='crop') } // Win IE 4~6 용

 

사용하시는건 본인 스스로가 판단하시되, 두핵모두 background-repeat 적용이 안되는점은 유의하시기 바랍니다.

2008년 10월 1일 수요일

2008년 9월 22일 월요일

[CSS]강제 줄바꿈 word-break:break-all;

간혹가다가 영문으로된 글자가 자동으로 떨어지지 않고 옆으로 길게 늘어나 레이아웃이 깨질때가 있습니다.

그럴때 word-break:break-all; 를 해당 class 나 style="word-break:break-all;" 식의 인라인 스타일로 적용해 보세요.


참고로 해당소스는 비표준 입니다.


참고주소 : http://www.webmini.net/css/102120

2008년 9월 21일 일요일

[Javascript]png 으로 저장시 IE6에서 투명안될때

png으로 저장시 IE7과 FF에서는 png 지원이 되지만, IE6에서는 투명으로 빠지지 않습니다.
그럴때 아래와 같이 하시면 됩니다.

 

스타일시트 정의

 

<style type="text/css">
<!--
.png24 {
  tmp:expression(setPng24(this));
}
-->
</style>

 

 

javascript 정의


<script type="text/javascript">
<!--
function setPng24(obj) {
  obj.width=obj.height=1;
  obj.className=obj.className.replace(/\bpng24\b/i,'');
  obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');"
  obj.src='';  
  return '';
}
-->
</script>

 

 

해당 png 이미지에 class 추가

 

<img src="이미지경로" alt="" class="png24">

단 css 백그라운드시 적용이 되지 않으며, 이미지맵또한 지원이 안됩니다.

[CSS]iframe대신 div를 응용해보자

 

<div style="width: 300px; border: 1px solid #aaa;background-color:#f9efef; height:65px; overflow:auto; color:#135;">

<p>Your own content can go inside here.</p>
<p>이 방법을 이용하면 iframe처럼 박스안에
   컨텐츠들을 스크롤할 수 있다.</p>
<p>하지만 다른 페이지의 내용을 iframe처럼 보여줄수는 없다.</p>
<p>단순히 박스안에 컨텐츠를 넣어 시각적인 효과나 페이지에 많은
   컨텐츠를 구분하여 넣을때는 효과적인 방법같다.
</div>

 

[CSS]프린트 (인쇄) 할때 다음 페이지 넘기기

인쇄할때 내용이 길어서 다음페이지 넘길시 내용이 짤려서 출력될때가 있습니다.
그럴때 다음페이지 부터 출력되게 하는 소스입니다.

<br style="page-break-before:always">

다음페이지 부터 인쇄될 내용 윗부분에 위에 소스를 삽입하시면 됩니다.
물론 <p><span><div> 안에 page-break-before:always 넣으셔도 되지만, 대체적으로 <br>에 많이 사용됩니다.

[CSS]프린트용 css

웹페이지를 인쇄할때 인쇄된걸 보면 모니터와 다르게 출력될때가 있습니다.
그럴때는 print 용 css를 따로 만드셔서 작업을 하셔야합니다.

프린트용 css 적용 방법은 크게 3가지 이며 다음과 같습니다.

 

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

 

<!-- 혹은 -->
<style type="text/css" media="print">
@import "print.css";
</style>

 

<!-- 혹은 -->
@media print {
/*직접코드 입력 */
}

 

참고 사이트 : http://ilmol.com/wp/2007/08/15/341/

[CSS]border-collapse:collapse

익스에서 테이블 선이 가끔 이상하게 나올때가 있습니다. 그럴때 아래 소스를 적용시키시면 됩니다.

 

- 서로 이웃하는 테이블이나 셀의 테두리션을 겹쳐서 표현

 

border-collapse:collapse;


- 서로 이웃하는 테이블이나 셀의 테두리션을 분리시켜 표현
 

border-collapse:separate;

[CSS]css로 background 이미지 고정하기

해당 css에 아래소스 처럼 기술합니다.

 

#contents {background:url(이미지주소) no-repeat fixed center middle;}

빨간색 부분을 추가하시면 됩니다. fixed 가 고정시키는 역할을 해줍니다.

[CSS]web color

HTML 4.01 에 정의된 16색의 '표준 기본 색상' 이 있습니다. CSS2 권고후보에 'orange' (#ffa500) 이 추가되어 17색이 되었습니다.



black #000000
silver #c0c0c0
gray #808080
white #ffffff
maroon #8000000
red #ff0000
purple #800080
fuchsia #ff00ff
green #008000
lime #00ff00
olive #808000
yellow #ffff00
navy #000080
blue #0000ff
teal #008080
aqua #00ffff
   
orange #ffa500


사용예) .fc {color:blue;}

[CSS]div 전체 세로 정렬하기

div 로 전체 가로 정렬할때는 margin:0 auto; 나 text-align:center; 등으로 가운데 정렬을 했는데,  전체 세로 정렬할때의 방법입니다.

해당 css에 아래의 소스를 삽입하세요.

#bodyWrap {
 position:absolute;
 top: 50%;
 left: 50%;
 width:30em;
 height:18em;
 margin-top: -9em;
 margin-left: -15em;
 }


보여지는 부분에 다음과 같이 코딩합니다.

 

 

<div id="bodyWrap">
내용
</div>


NN 4.7  빼곤 나머지 브라우저에서 정상작동합니다.

 

가로정렬하는 방법 : http://blog.webmini.net/296

2008년 9월 20일 토요일

[CSS]css를 이용한 이미지 확대

스크립트를 사용해서 하는 방법은 다양하나 css를 이용해서 마우스 오버시 이미지 확대하는 효과입니다.
응용해서 사용하면 괜찮을듯 합니다.


css 소스는 다음과 같습니다.

<style type="text/css">
img { position:absolute;border:0; }
a:hover img { width:600px; height:400px; padding:5px; background:#fff; border:1px solid #000; } /* 확대했을때 보여질 이미지 */
</style>

<body> 안에 이미지가 위치할 부분에 다음소스를 넣으시면 됩니다.

<a href="클릭시이동한곳"><img src="이미지경로" alt="확대이미지" width="300" height="200" /></a>

다양한 방법으로 응용해 보세요.^^