CSS를 활용한 Rounded Box 5

Introduction

라운드 박스만들기를 주제로 마지막 포스팅입니다. 웹표준이 많이 지켜지게 되었다고는 하지만 아직도 여전히 특정 브라우저의 버그나 특성 때문에 특정 브라우저를 위한 코드가 필요합니다. 이런 코드를 hack이라고 하고 많은 전문가들이 상황에 맞는 hack을 권장하고 있습니다. 하지만, hack을 쓰다보니 CSS가 난해하고 지저분해지고 마는 상황을 피할 수 없네요. 아직 웹표준의 갈 길은 먼 것 같습니다.

목차

  • 고정폭 박스 - 방탄웹 방법
  • 고정폭 박스 - 망고의 방법
  • 유동폭 박스 - 방탄웹 방법
  • 유동폭 박스 - www.cssplay.co.uk
  • 아직 조금 먼 미래

아직 조금 먼 미래 - Border-Radius

본 글에서 소개할 방법은 CSS2의 차기 버전 CSS3에서 지원하게 될 border-radius 속성을 이용한 방법입니다. 모든 방법을 통틀어 가장 깔끔한 방법일 것입니다. 어떤 블로거는 복잡한 라운드 박스 기술이 다 필요없다고 주장을 하더군요. 일단 박스를 봅시다.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

'이게 뭐야. 라운드 박스가 아니잖아.'라고 하시는 분들 많으리라 생각합니다. 이 방법은 현재 지원하지 않는 브라우저가 많습니다. 현재 제가 사용하고 있는 파이어폭스2는 CSS3의 border-radius가 아닌 -moz-border-radius 속성을 지원합니다.

[HTML] 코드

<div class="box">
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
</div>

[CSS] 코드

.box {
    width: 50%;
    padding: 5px;
    background: #444;
    border-radius: 1em;
    -moz-border-radius: 1em;
    color: #fff;
}

아- 깔끔합니다. HTML에는 데이터만 들어가고 Presentation은 CSS가 전담합니다. 코드를 이해하기 위해 머리쓰고 말고 할 것도 없습니다. 모든 브라우저가 border-radius 속성을 지원한다면 앞서 작성한 라운드 박스 기술들은 모두 쓰레기통행이겠지요. 하지만 그렇다고해서 '난 border-radius만 쓸꺼야'라고 할 수는 없는거죠. (실제로 그렇게 주장하는 사람도 있긴 하더군요. 내 사파리에선 제대로 보이니 난 괜찮아 라고 ㅡㅡ;;) 취미로 혼자 만드는거라면 또 모를까 업으로 삼고 있는 사람들이 이러긴 쉽지 않습니다. (그러고보니 전에 다니던 회사에선 IE에서 돌아가면 오케!였습니다.)

웹표준이 완벽하게 모든 브라우저에서 지원되지 않는 한 hack은 여전히 유효한 방법일 것 같습니다. 틀이 되는 다른 코드들과 분리해서 잘 관리하는게 현재로서 가능한 대안일테구요. 끝으로 방탄웹에서 소개된 바 있는 hack 관리에 관한 글 소개드립니다.

Integrated Web Design: Strategies for Long-Term CSS Hack Management

  웹 2.0을 이끄는 방탄웹 - 크리에이티브한 웹 표준 기법과 제작 사례  댄 씨더홈 지음, 박수만 옮김
의 저자인 댄 씨더홈이 유연성, 가독성, 사용자 편의성 등 성공적인 웹사이트가 갖춰야 할 핵심사항인 웹 표준 전략을 모두 갖춘 '방탄웹'을 구축해 가는 과정을 설명한다. 각 장마다 기존의 흔해 빠진 방식으로 제작한 웹사이트를 사례로 들어 문제점을 분석하고 해결책을 제시한다.

Posted by 망고

01 21, 2008 18:08 01 21, 2008 18:08
,
Response
No Trackback , 6 Comments
RSS :
http://www.shimminkyu.com/tc/rss/response/743

CSS를 활용한 Rounded Box 4

Introduction

네번째 Rounded Box입니다. 지난번 IE에서 박스 깨짐현상은 아직 해결못했습니다. 해결방법을 아시는 분은 답글 달아주시면 감사!
이번 박스는 인터넷에서 찾아낸 것입니다. www.cssplay.co.uk이란 곳이었는데 Stuart Nicholls라는 61세 할아버지가 운영하는 곳이더군요. 오... 나이드시고도 코드에 대한 열정을 갖고 계신 것이 참 보기 좋았습니다. 이 분이 만들어놓은 라운드 박스는 아예 이미지를 사용하지 않고 CSS만으로 구현되었습니다.

목차

  • 고정폭 박스 - 방탄웹 방법
  • 고정폭 박스 - 망고의 방법
  • 유동폭 박스 - 방탄웹 방법
  • 유동폭 박스 - www.cssplay.co.uk
  • 아주 조금 먼 미래

유동폭 박스 - from www.cssplay.co.uk

일단 두말할 것 없이 생긴 것부터 보겠습니다.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus vitae pede a nisi commodo egestas. Sed dignissim, justo a commodo blandit, augue pede suscipit velit, ac semper dolor velit ut eros. Vestibulum tellus. Morbi tincidunt. Pellentesque ac justo. Etiam et massa. Mauris lacus. Quisque vitae nibh at nisi euismod pellentesque. Phasellus cursus, arcu vehicula vulputate blandit, quam nulla porta sapien, eu volutpat nunc elit quis nisl.

이 방법은 박스의 위 아래로 높이 1px의 b 태그를 네 개씩 붙인후 b 태그의 margin값을 조정해서 마치 라운드 코너처럼 보이도록 만드는 방법입니다. 재미있는 방법이지요? 아이디어가 직관적이고 코드도 단순해서 이해하기 쉽습니다. 아쉬운 점이 있다면 HTML에 데이터와 관계없는 디자인 태그들이 들어간다는 것이겠지요. 더구나 b 태그란 건 의미상으로도 맞지 않구요 ㅡㅡ;;;

[HTML] 코드

<div class="box">
    <b class="b1f"></b>
    <b class="b2f"></b>
    <b class="b3f"></b>
    <b class="b4f"></b>
    <div class="content">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus vitae pede a nisi commodo egestas. Sed dignissim, justo a commodo blandit, augue pede suscipit velit, ac semper dolor velit ut eros. Vestibulum tellus. Morbi tincidunt. Pellentesque ac justo. Etiam et massa. Mauris lacus. Quisque vitae nibh at nisi euismod pellentesque. Phasellus cursus, arcu vehicula vulputate blandit, quam nulla porta sapien, eu volutpat nunc elit quis nisl.
    </div>
    <b class="b4f"></b>
    <b class="b3f"></b>
    <b class="b2f"></b>
    <b class="b1f"></b>
</div>

[CSS] 코드

.box {
    width: 300px;
    padding: 30px;
}

.b1f, .b2f, .b3f, .b4f{
    height: 1px
    font-size:1px;
    overflow:hidden;
    display:block;
    background: #ddd;
}
.b1f {
    margin:0 5px;
}
.b2f {
    margin:0 3px;
}
.b3f {
    margin:0 2px;
}
.b4f {
    margin:0 1px;
}
.content {
    padding: 10px;
    background: #ddd;
}

인터넷 상을 뒤져보면 수많은 CSS Rounded Box 테크닉이 있습니다. 어떤 것들은 웹표준의 철학을 지키려고 CSS가 지나치게 복잡하지는가 하면 어떤 것들은 HTML내에 태그를 심게해서 '이러면 기존 이미지를 찢어 붙일 때랑 뭐가 다른가' 싶은 방법도 있던데요. 정답은 없는 것 같습니다. 아! 인터넷에서 어떤 이가 이것이 정답이다 라고 주장하는 방법이 있더군요. 다음 글에서 다뤄보겠습니다. :)

Posted by 망고

01 21, 2008 17:22 01 21, 2008 17:22
,
Response
No Trackback , No Comment
RSS :
http://www.shimminkyu.com/tc/rss/response/742


Recent Photo

recent photo from http://mangolog.tistory.com/ from Mango PhotoLog

Stay Foolish, Stay Hungry.

- 망고


Seoul

Paris

Authors

  1. 망고

Schedule

«  »
with Google Calendar API

Site Stats

Total hits:
201134
Today:
113
Yesterday:
311