2011-09-28 5 views
1

I have created a fiddle 내 질문을 설명합니다. 기본적으로 위쪽과 아래쪽에 패딩이있는 스크롤 가능한 내용의 컨테이너가 필요합니다. [편집 :]이 패딩은 스크롤하는 동안 표시되어야하므로 주어진 시간에 가장자리에서 콘텐츠까지의 거리가 같아야합니다.안쪽에 여분의 마크 업없이 상단 및 하단에 패딩이있는 스크롤 가능한 div를 만드는 방법은 무엇입니까?

<div class="container"> 
    <!-- pure content, no extra wrapper --> 
    <h1>This is how I'd like it</h1> 
    <p> ... </p> 
</div> 

컨테이너 내부에 여분의 래퍼를 추가하면 효과가 나타납니다. 누구든지 다른 요소를 소개하지 않는 다른 해결 방법을 알고 있습니까?

<div class="container"> 
    <!-- extra wrapper, me unhappy --> 
    <div class="inner"> 
     <h1>This is how I can do it</h1> 
     <p> ... </p> 
    </div> 
</div> 
+1

저와 FF6의 경우 "보기 좋지 않은, 원하는 마크 업"이 좋습니다. –

+0

크롬 14, 파이어 폭스 6, 오페라 11.50, 사파리 5.1 및 (놀랍게도) Internet Explorer 9와 동일합니다. –

+0

저에게는 제 1면에서 좋았습니다. 그러나 스크롤을하고있을 때에도 패딩을 원한다는 것을 깨달았습니다. 여분의 포장지 없이는 불가능합니다. – jammon

답변

2

내가 생각할 수있는 가장 간단한 해결책은 상자와 동일한 배경색 상자 주위에 두꺼운 경계선을 추가하고 이에 따라 너비/높이를 줄이는 것입니다. [국경의 두께 = 모든면에 필요한 패딩] & [국경 색상 = 상자의 배경색 색상]

+0

좋은 지적! 유일한 것은 배경을 위해 단색을 선택하거나 넓게 지원되지 않는 테두리 이미지를 사용해야한다는 것입니다. – Mohsen

+0

ist gets만큼이나 가깝습니다. 귀하의 공헌을위한 트랭크스. –

+1

또는'border-color : rgba (0,0,0,0)'을 사용하십시오. – commonpike

0

다음 CSS를 사용해보세요.

.container { 
    padding-top:10px; 
    padding-bottom:10px; 
    height: 80px; /* Set your desired value here */ 
    width: 200px; /* Set your desired value here */ 
    overflow-x: scroll; /* for horizontal scroll-bar */  
    overflow-y: scroll; /* for vertical scroll-bar */ 
    white-space: nowrap; /* needed only if you want to disable text-wrapping. */ 
} 
+3

스크롤 가능한 컨테이너를 만드는 동안 상단 또는 하단으로 스크롤했을 때만 패딩이 표시됩니다. 콘텐츠의 중간에있을 때 콘텐츠가 컨테이너의 가장자리에 부딪히며 피하려고하는 것입니다. –

관련 문제