스크롤이없는 페이지를 빌드하고 기본 div의 내용이 오버플로하는 부분을 인식합니다. 코드는 그 점을 기억하고 그 단어 또는 요소에서 시작하는 별도의 페이지를 구성합니다.브라우저가 오버플로로 분류 할 첫 번째 단어 찾기
나는 바이올린을 켜는 몇 시간을 소비하고, 여기에 과거 질문이 채택 접근 방법의 한 : 클론의 높이/폭이 원래의보다 작아 아웃까지
1. 복제 사업부가 점진적으로 단어를 제거합니다.
너무 느립니다. 나는 기하 급수적으로 단어를 제거한 다음 천천히 그것을 다시 채우는 것으로 속도를 높일 수 있다고 생각합니다. 목표를 지나서 천천히 되돌아 와서 천천히 되돌릴 수 있습니다. 그러나 접근 자체는 무차별 한 것 같습니다.
2. div의 크기에 대한 계산을 수행하여 수평 및 수직으로 맞출 수있는 em 수를 계산합니다. 모든 내용이 균일 한 텍스트라면 책이 좋겠지 만 헤드 라인과 이미지 및 이것 저것에 원숭이 렌치를 던지는 등주를 다루기를 기대합니다. 또한 브라우저의 다른 기본 글꼴 환경 설정 (100 % ~ 144 %?)을 사용하면 복잡해집니다.
3. 항목을 토큰으로 렌더링하고 해당 요소 (예 : 한 문자)가 화면에서 더 이상 보이지 않을 때 중지하십시오. 렌더링 된 요소에 어떤 종류의 isVisible() 검사 만 포함되기 때문에이 방법을 선호합니다. 브라우저가 렌더링하는 방법과 일치하는지는 모르겠다.
어떻게 수행 할 수 있는지에 대한 권장 사항은 무엇입니까? 또는 스크롤바가 필요한지 여부를 결정하기 전에 전체 페이지 길이를 렌더링하도록 설계된 브라우저입니까?
split-lines에 대해 #pages의 전경 상단과 하단에 수직선 그라디언트가있는 일부 (css-pseudo) 요소를 추가 할 수 있습니다. 정말 멋지게 만든다 :-) – Bergi
존재하지 않았다. 감사! 각각의 스 니펫을 자신의 페이지와 같은 느낌으로 만들기 위해 블록 레벨 요소가 오버플로를 강제하는지 여부를 감지하는 방법이 필요합니다. 지금 복제 및 비교는 여전히 내가 가지고있는 모든 것 ... 뭔가가 넘치는 때를 보여주는 브라우저 기능이 있습니까? – midnightinfour
@midnightinfour : 컨테이너의 각 요소를 반복하고, 블록 수준 요소 인 경우 $ ('# pages *') 각 루프는 ($ {this}) .css ('display') == '블록'});','this.offsetTop'을 배열에 추가하십시오. 이 배열을 사용하여 블록 레벨 요소가 항상 맨 위에서 시작되도록'scrollTop'을 설정할 때 어떤 픽셀을 찍을 지 알아야합니다. – josh3736