<ul>태그를 이용해서 , 좌측정렬 사용하기
<ul> 로 tab 메뉴나 가로 리스트를 만들 경우 <li>에 float: left;
값을 줍니다. 아래 캡쳐화면 처럼 말이죠.
<li>의 float이 left인데, <ul>에 border-bottom이 지정되어 있다. ㅠ.ㅠ
그런데 만약 background를 줘야하거나 위의 캡쳐처럼 border가 필요한 경우 <ul>이 함께 늘어나주지 않습니다. 제가 지금까지 마지막 <li>에 float 속성을 clear 해줘서 둘러싸고 있는 <ul>이 마지막 <li> 를 감싸게 하는 방법으로 이 문제를 해결했었습니다.
<li style="clear: both; float: none; font-size: 0; height: 0;"></li>
이렇게 처리하면 html에는 쓸데없는 <li> 가 하나 추가되어야 하기 때문에 권장할 수 있는 방법은 아닙니다. 저 역시도 html 코드를 줄이기 위해 노력하면서 이런 의미없는 태그가 추가되는 것에 마음이 무척 불편했었답니다.
clear 속성에 대한 글을 보시면 이에 대한 해결 방법이 나와 있습니다.
둘러싸고 있는 <ul>의 hasLayout을 true로 하고, overflow: auto;
를 넣어주면 됩니다. hasLayout을 true로 한다는 말은 width나 height 값을 넣어주라는 말이구요. IE를 제외하고는 overflow: auto;
만 넣어줘도 <ul>이 함께 늘어납니다.마지막으로 이건 현석님이 메신저로 알려주신건데, width나 height를 넣을 수 없는 경우면서 IE에서도 반드시 제대로 보이게 해야 한다면 zoom: 1;
속성을 넣어주면 된다고 합니다. 단, IE6 전용 속성이기 때문에 css validation은 포기해야하구요.
아래는 샘플 css 입니다. 다 아는 속성은 빼고 주요 속성만 담았습니다.
ul {
background-color: orange;
overflow: auto;
/* IE6 Hack */ zoom: 1;
}
li {
float: left;
background-color: yellow;
margin-right: 5px;
}
div.wrap {
background-color: orange;
overflow: auto;
/* IE6 Hack */ zoom: 1;
}
li.title {
float: left;
background-color: yellow;
}
li.more {
float: right;
background-color: skyblue;
}
자료출처 : http://zzomen.tistory.com/125
'Web > WEB기본' 카테고리의 다른 글
[CSS] webkit에서 사용되는 CSS text-align 속성값들 (0) | 2013.10.12 |
---|---|
[html5] canvas 태그 clear (for redrawing) (0) | 2013.09.26 |
[favicon]즐겨 찾기 사이트의 대표 icon 만들기 (0) | 2013.06.26 |
[CSS] CSS 선택자 ( selector ) (0) | 2013.05.24 |
[CSS] HTML5의 CSS linear-gradient 할용 (0) | 2013.05.08 |
[CSS] CSS3 에서 사용되는 animation효과 처리 (0) | 2013.02.21 |
[CSS] 화면 넓이 width:100% - 100px 처리 (0) | 2013.02.14 |
[CSS3] 드림위버 media queries js 미디어 쿼리를 이용한 리사이징 (0) | 2013.02.14 |
(로그인하지 않으셔도 가능)