묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
레이아웃 제작시 마지막 메뉴에만 여백을 주지 않으려면 어떻게 해야 될까요?
2014.10.05 04:24
레이아웃에 포함된 가로메뉴고요.
각 메뉴마다 margin-right:30px 을 적용하여 메뉴 사이에 공백을 주었습니다.
메뉴1 (공백30px) 메뉴2 (공백30px) 메뉴3 (공백30px) ... 메뉴10
이런 식인데 마지막 메뉴인 메뉴10에는 오른쪽에 공백이 생기지 않게 하고 싶습니다.
이걸 어떻게 처리해야 되나요?
댓글 4
-
DoorWeb
2014.10.05 09:28
-
숭숭군
2014.10.05 11:00
css에서
li:last-child{margin:0px}
참고로 위방식은 ie7,ie8에서 적용이 되지않음.
js에서는
$('li:last-child').css('margin','0px');
위방식은 ie7, ie8 적용됨.
-
DoorWeb
2014.10.05 11:06
css 처리할려면
.gnb > ul >li:last-child{margin:0} 이렇게 처리하셔야 할겁니다.
li:last-child{margin:0px}
이렇게 처리하면 10번째 메뉴의 하위 메뉴가 있어 버리면 그쪽에 걸려 버려서....
-
젠이
2014.10.06 02:04
두 방법 다 써봤는데 안 되네요ㅜㅜ
:last-child 이거 관련 코드를 제가 잘못 쓴건지...
제가 뭘 잘못했거나 레이아웃에 포함된 코드 중 어떤거랑 충돌했거나 둘 중 하나일 듯 해요.
여튼 두 분 댓글 감사합니다~ 차분하게 다시 한번 해봐야겠어요.
일단 마지막 li의 클라스명을 뽑아야겠지요.
xe_official 레이아웃 기준으로 보면
이런 형태를 보이는데요. 여기에 첫번째 li를 구분하기 위해 한번 수정을 가합니다.
빨간 부분이 첫번째 li에 first_li 라는 클라스명을 넣기 위한 추가 부분인데요. 이러면 첫번째 li는 항상 first_li라는 클라스명을 가지게 됩니다.
그럼 여기서 첫번째 li의 마지막 li에 last_li라는 클라스명을 넣기 위한 js를 추가하면 되는데요.
js 쪽에
$('li.first_li').last().addClass('last_li'); 를 추가하시면 첫번째 li의 마지막 li에(first_li 중에 가장 끝에오는) last_li 라는 클라스명이 추가가 됩니다.
그럼 마지막 li에 margin-right:0만 해 주면 되겠네요.
css에서
.last_li{margin-right:0 !important;} 를 추가 해 주시면 됩니다.
!important; 이 부분은 꼭 추가해야 할 부분은 아니지만 margin-right:30px;를 어떤 기준으로 줬는지 알 수 없어서 추가했고요.
!important;는 꼭 이렇게 하라는 말입니다.