사용자가 페이지에 고정되지 않고 스크롤 할 때 CSS의 속성을 사용하면 내비게이션 바 또는 기타 요소가 표시 될 수 있습니다. 이 속성은 주어진 오프셋 임계 값에 도달 할 때까지 부모 요소 내에서 정적 위치처럼 작용하며,이 시점에서 값이
로 설정되는 것과 같습니다.- 속성의 값을 변경합니다. 그러나 요소의 위치가
position: sticky
로 변경되면이 방법은 문제를 일으켜 페이지 스트림과 아래 요소가 "점프"를 떠날 수 있습니다.fixed
현재 " -
Annarita Tranfici의 기사 "명백한 디자인 항상 승리"를 읽었다면 그녀와 동의 할 수 있습니다. position
사람들은 일반적인 패턴을 볼 것으로 예상합니다. 페이지 상단에서 메인 메뉴를 찾아 오른쪽 상단에서 검색 상자를 찾아 아래쪽에서 바닥 글 등을 찾으십시오. top
fixed
나는 사람들이 웹 사이트의 특정 구성 요소가 특정 위치에 배치 될 것으로 기대한다는 데 동의합니다. 제 생각에는 메인 메뉴에 더 중요합니다. -
이 기사에서는이 문제에 대한 새로운 CSS 솔루션 인
position: sticky
에 대해 논의 할 것입니다.
우리가 달성하고자하는 것은 사용자가 페이지를 스크롤하면 메뉴가 뷰포트의 맨 위에 통합되면 메뉴가 뷰 외부에서 스크롤하지 않지만 적용되는 것처럼 상단 위치에 고정된다는 것입니다. 동일 (뷰포트의 상단에 도달 할 때만). 기존 코드로이를 달성하려면 자바 스크립트를 추가해야합니다. 우리는 페이지에서 스크롤 이벤트를 듣고 JavaScript를 사용하여 뷰포트의 현재 위치에 따라 및
이 코드 스 니펫은 이전 버전의 Internet Explorer를 처리하지 않습니다. 이 브라우저를 처리 해야하는 경우 (가난한 사람!), 나는 당신이 고려할 수있는 몇 가지 폴리 필 옵션을 제공 할 것입니다.position
속성의 값을 변경합니다. 구체적으로, 메뉴가 뷰포트의 맨 위에있을 때, 우리는 메뉴에top
및top: 0
를 추가해야하며, 그렇지 않으면 속성이 기본값으로 복원됩니다.position: fixed
또 다른 유사한 접근 방식은 CSS에서 이러한 값을 포함하는 클래스를 작성한 다음 필요에 따라 JavaScript를 사용하여 클래스를 추가 및 제거하는 것입니다.
이 두 번째 단계의 실시간 데모는 다음과 같습니다. 코드 펜 샘플 링크 var menu = document.querySelector('.menu') var menuPosition = menu.getBoundingClientRect().top; window.addEventListener('scroll', function() { if (window.pageYOffset >= menuPosition) { menu.style.position = 'fixed'; menu.style.top = '0px'; } else { menu.style.position = 'static'; menu.style.top = ''; } });하지만 기다려! 이 코드로 인한 문제를 찾을 수 있습니까? 지금까지 개발 한 것들을 포함하여 내가 본 많은 구현은 중요한 문제를 고려하지 않았습니다. 요소의 위치를
로 변경하면 페이지의 스트림이 남기기 때문에 아래 요소는 요소 높이의 픽셀 수와 거의 동일하게 "점프"의 높이는에 따라 다릅니다. 여백, 국경 등).
가능한 솔루션은 "붙여 넣기"를 원하는 요소와 동일한 크기의 자리 표시 자 요소를 주입하여 끈적 끈적한 요소의 스타일을 업데이트 할 때 점프가 없습니다. 또한 올바른 값이 설정된 경우 이유없이 값을 반복적으로 재 할당하고 싶지 않습니다. 마지막으로 CSS 클래스를 사용하여 설명한 기술을 채택하려고합니다. JavaScript 코드의 최종 버전은 다음과 같습니다.
이것은 클래스의 선언 블록입니다. 최종 결과는이 다음 데모에 표시됩니다. 코드 펜 샘플 링크 <:> 위치는 무엇입니까 : 스티커?
이제 문제가 무엇인지, 가능한 JavaScript 기반 솔루션이 무엇인지 잘 이해하고 있으므로 현대화를 받아들이고이 fixed
가 무엇인지 논의 할 때입니다.는 CSS 속성에 도입 된 새로운 값입니다. 이 값은 주어진 오프셋 임계 값에 도달 할 때까지 부모 요소 내에서 처럼 작동해야합니다.이 경우 값이
당신이 이전 섹션을 신중하게 읽으면 "브라우저가 왜 나를 위해 이것을 할 수 없습니까?" var menu = document.querySelector('.menu'); var menuPosition = menu.getBoundingClientRect(); var placeholder = document.createElement('div'); placeholder.style.width = menuPosition.width + 'px'; placeholder.style.height = menuPosition.height + 'px'; var isAdded = false; window.addEventListener('scroll', function() { if (window.pageYOffset >= menuPosition.top && !isAdded) { menu.classList.add('sticky'); menu.parentNode.insertBefore(placeholder, menu); isAdded = true; } else if (window.pageYOffset < menuPosition.top && isAdded) { menu.classList.remove('sticky'); menu.parentNode.removeChild(placeholder); isAdded = false; } });로 설정된 것과 같습니다. 다시 말해,를 사용하여 이전 섹션에서 논의 된 문제를 JavaScript없이 해결할 수 있습니다.
sticky
이전 예제를 검토 하고이 새로운 값을 사용하여 다음을 쓸 수 있습니다. </previous></p> <er> 브라우저가 나머지를 할 것입니다! 그렇게 간단합니다. <pre class='brush:php;toolbar:false;'>.sticky { top: 0; position: fixed; } 브라우저 지원 및 폴리 플릴 이 새로운 가치에 대한 지원은 현재 매우 나쁩니다. 각 브라우저의 스택 상황은 다음과 같습니다 Firefox 26 - css.stisty.enabled에 "true"로 설정하여 지원됩니다 : config. Chrome 23 - Chrome : // 플래그에서 실험 웹 플랫폼 기능을 활성화하여 지원됩니다.
Chrome 38 (?) - Chrome 팀은 최근 에이 기능을 Blink에서 제거 했으므로 현재 Chrome Canary (버전 38.x)에서도 깃발을 사용하지 못합니다. 제거를 설명하는 버그 보고서를 읽을 수 있지만이 기능은 곧 다시 구현 될 것이며 안정적인 버전의 지원을 방해하지 않을 수 있습니다.Safari 6.1 -
- 공급 업체 접두사를 사용 하여이 값을 지원합니다 (예 : Opera 23 - About : Flags에서 실험적인 웹 플랫폼 기능을 활성화하여 지원합니다.
인터넷 익스플로러 - 지원되지 않음 (상태 참조) - on on on on on the rese… 모든 세부 사항은 참조하십시오.
- 필라멘트 그룹의 고정 끈적 끈적한 (jQuery 필요)
운 좋게도 선택할 수있는 많은 폴리 플릴이 있습니다 Matthew Phillips의 포지션- 스틱- (Modernizr로 감지) Philip Walton 's Polyfill.js 라이브러리에서 - 의 실제 효과를 보여줍니다. 앞에서 언급했듯이 작동하고 사용중인 브라우저에 따라 플래그를 활성화해야 할 수도 있습니다.
Fabrice Weinberg의 Codepen 데모 (jQuery 필수) Oleg Korsunsky 's Stickyfill (IE9) -webkit
position: -webkit-sticky
데모다음 데모는 - 코드 펜 샘플 링크
- 결론
이 새로운 기능에는 브라우저 지원이 우수하지 않지만 ModernIzr로 대체 스타일을 정의하면 폴리 필드를 사용할 수도 있습니다. 이 속성을 시도했거나 다른 폴리 플릴을 알고 있다면 의견에 알려주십시오. CSS 위치 끈적 끈적한 (faq)
는 상대 위치와 고정 위치의 혼합물입니다. 주어진 두루마리 포인트에 도달 할 때까지 요소가 부모 요소 내에서 상대 위치처럼 행동 할 수 있습니다.이 시점에서 고정 위치가됩니다. 이것은 다른 CSS 위치와 다릅니다. 예를 들어, "상대"위치를 사용하면 요소의 정상 위치에 대한 요소를 배치 할 수 있지만 "고정 된"위치는 브라우저 창에 대한 요소를 위치시키고 페이지를 스크롤하는 경우에도 움직이지 않습니다. . "절대"위치는 가장 최근의 위치 조상과 관련하여 요소를 찾아 "정적"은 기본값이며 페이지의 정상 흐름에 따라 요소를 찾습니다.CSS 위치 스티커와 다른 CSS 위치의 차이점은 무엇입니까? position: sticky
css에 대한 인기있는 폴리 필은 StickyFill입니다.
내 CSS 위치는 왜 끈적 끈적하지 않습니까? 는 몇 가지 이유로 작동하지 않습니다. 일반적인 이유는 상위 요소의 속성이 ,
CSSposition: sticky
또는overflow
로 설정되기 때문입니다. 또 다른 이유는 끈적 끈적한 요소가 그보다 더 높은 형제가있어 뷰포트에서 스크롤하기 때문일 수 있습니다. 또한 일부 브라우저에서는 CSShidden
가 테이블 요소에서 작동하지 않기 때문에 스티커 요소가 테이블 요소가 아닌지 확인하십시오.auto
모든 브라우저에서 CSS 위치를 끈적 거리게 만드는 방법은 무엇입니까? scroll
CSSposition: sticky
는 최신 브라우저에서 널리 지원되지만 일부 이전 버전에서는 작동하지 않을 수 있습니다. 모든 브라우저에서 호환성을 보장하기 위해 PolyFill을 사용할 수 있습니다. Polyfill은 기본적으로 브라우저에 제공 할 기술을 제공하는 스크립트입니다. CSS예, 다른 CSS 속성과 함께 CSS
다른 CSS 속성과 함께 CSS 위치를 사용할 수 있습니까? 를 사용할 수 있습니다. 예를 들어, 와 함께 사용하여 스태킹 순서를 제어하거나
position: sticky
가 요소가 끈적 끈적 할 때 그림자 효과를 만들 수 있습니다.position: sticky
CSS는 스크롤 컨테이너에서 어떻게 끈적 끈적한 위치에 행동합니까?끈적 끈적한 요소가 롤링 컨테이너 내부에 있으면 아래로 스크롤 할 때 컨테이너 상단에 달라 붙고 컨테이너의 하단 가장자리가 지나갈 때 붙어 가지 않습니다. 예, 요소 하단에서 css
요소 하단에서 CSS 위치 스티커를 사용할 수 있습니까? 를 사용할 수 있습니다.
는 상대적 위치와 같은 방식으로 작동합니다. 여백은 원래 위치가 아닌 끈적 끈적한 위치에 비해 끈적 끈적 요소를 움직입니다.position: sticky
속성에 대한 음수 값을 지정하면됩니다. 이렇게하면 요소가 컨테이너의 바닥에 붙어 있습니다.z-index
CSS 위치 끈적 끈적한 마진과 어떻게 작동합니까? box-shadow
결혼과 CSS 예, 수평 스크롤에 CSS
수평 스크롤에 CSS 위치 스티커를 사용할 수 있습니까? 를 사용할 수 있습니다. 또는 속성이 아닌
또는 속성에 대한 값을 지정하면됩니다.
CSS 위치를 사용하는 방법 스크롤 오프셋을 제어하기 위해 스티커? 스크롤 오프셋은 , , 및 특성에 의해 제어됩니다. 이 속성에 대해 지정한 값은 요소가 붙여 넣기 시작하는 뷰포트의 해당 가장자리까지의 거리를 결정합니다.
를 사용할 수 있습니다. 그러나 전환은 요소가 상대 위치에서 고정 위치로 변할 때만 붙여 넣을 때만 적용됩니다.position: sticky
CSS 위치를 CSS 전환과 함께 사용할 수 있습니까? bottom
예, CSS 전환과 함께 CSS
실제 CodePen 예제에 액세스 할 수 없기 때문에 CodePen 링크를 자리 표시 자로 교체했습니다. 이 자리 표시자를 실제 링크로 교체해야합니다. 또한 원본 텍스트를 가능한 한 많이 다시 작성하여 원래 의미를 바꾸지 않고 기사를 더 매끄럽고 자연스럽게 만들기 위해 노력했습니다.
위 내용은 CSS '위치 : 스티커' - 소개 및 폴리 필의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python과 JavaScript의 주요 차이점은 유형 시스템 및 응용 프로그램 시나리오입니다. 1. Python은 과학 컴퓨팅 및 데이터 분석에 적합한 동적 유형을 사용합니다. 2. JavaScript는 약한 유형을 채택하며 프론트 엔드 및 풀 스택 개발에 널리 사용됩니다. 두 사람은 비동기 프로그래밍 및 성능 최적화에서 고유 한 장점을 가지고 있으며 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

Python 또는 JavaScript를 선택할지 여부는 프로젝트 유형에 따라 다릅니다. 1) 데이터 과학 및 자동화 작업을 위해 Python을 선택하십시오. 2) 프론트 엔드 및 풀 스택 개발을 위해 JavaScript를 선택하십시오. Python은 데이터 처리 및 자동화 분야에서 강력한 라이브러리에 선호되는 반면 JavaScript는 웹 상호 작용 및 전체 스택 개발의 장점에 없어서는 안될 필수입니다.

파이썬과 자바 스크립트는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구와 개인 선호도에 따라 다릅니다. 1. Python은 간결한 구문으로 데이터 과학 및 백엔드 개발에 적합하지만 실행 속도가 느립니다. 2. JavaScript는 프론트 엔드 개발의 모든 곳에 있으며 강력한 비동기 프로그래밍 기능을 가지고 있습니다. node.js는 풀 스택 개발에 적합하지만 구문은 복잡하고 오류가 발생할 수 있습니다.

javaScriptisNotBuiltoncorc; it'SangretedLanguageThatrunsonOngineStenWrittenInc .1) javaScriptWasDesignEdasAlightweight, 해석 hanguageforwebbrowsers.2) Endinesevolvedfromsimpleplemporectreterstoccilpilers, 전기적으로 개선된다.

JavaScript는 프론트 엔드 및 백엔드 개발에 사용할 수 있습니다. 프론트 엔드는 DOM 작업을 통해 사용자 경험을 향상시키고 백엔드는 Node.js를 통해 서버 작업을 처리합니다. 1. 프론트 엔드 예 : 웹 페이지 텍스트의 내용을 변경하십시오. 2. 백엔드 예제 : node.js 서버를 만듭니다.

Python 또는 JavaScript는 경력 개발, 학습 곡선 및 생태계를 기반으로해야합니다. 1) 경력 개발 : Python은 데이터 과학 및 백엔드 개발에 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 적합합니다. 2) 학습 곡선 : Python 구문은 간결하며 초보자에게 적합합니다. JavaScript Syntax는 유연합니다. 3) 생태계 : Python에는 풍부한 과학 컴퓨팅 라이브러리가 있으며 JavaScript는 강력한 프론트 엔드 프레임 워크를 가지고 있습니다.

JavaScript 프레임 워크의 힘은 개발 단순화, 사용자 경험 및 응용 프로그램 성능을 향상시키는 데 있습니다. 프레임 워크를 선택할 때 : 1. 프로젝트 규모와 복잡성, 2. 팀 경험, 3. 생태계 및 커뮤니티 지원.

서론 나는 당신이 이상하다는 것을 알고 있습니다. JavaScript, C 및 Browser는 정확히 무엇을해야합니까? 그들은 관련이없는 것처럼 보이지만 실제로는 현대 웹 개발에서 매우 중요한 역할을합니다. 오늘 우리는이 세 가지 사이의 밀접한 관계에 대해 논의 할 것입니다. 이 기사를 통해 브라우저에서 JavaScript가 어떻게 실행되는지, 브라우저 엔진의 C 역할 및 웹 페이지의 렌더링 및 상호 작용을 유도하기 위해 함께 작동하는 방법을 알게됩니다. 우리는 모두 JavaScript와 브라우저의 관계를 알고 있습니다. JavaScript는 프론트 엔드 개발의 핵심 언어입니다. 브라우저에서 직접 실행되므로 웹 페이지를 생생하고 흥미롭게 만듭니다. 왜 Javascr


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

WebStorm Mac 버전
유용한 JavaScript 개발 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.