자세 한 설명 CSS 부정 확 한 넘 침 텍스트 는 스크롤 에 적합 합 니 다.
실행 가능 한 방안 은 hover 일 때 텍스트 상 자 를 꺼 내 전체 텍스트 를 보 여 주 는 것 입 니 다.가장 간단 한 것 은 텍스트 탭 에 title 속성 을 추가 하여 우리 가 필요 로 하 는 내용 을 채 우 는 것 입 니 다.
<ul>
<li title=" 1 2 3 4"> 1 2 3 4</li>
</ul>
물론 이런 방법 은 간단 하지만 사용자 체험 이 부족 할 수 있다.
본 고 는 텍스트 의 길이 가 확실 하지 않 고 용기 의 길이 도 확실 하지 않 은 상황 에서 임의의 길이 의 텍스트 가 hover 상태 에서 왼쪽 에서 오른쪽으로 스크롤 하여 텍스트 말단 으로 스크롤 한 다음 에 초기 위치 로 스크롤 하 는 것 을 간단하게 소개 합 니 다.이렇게 반복 합 니 다.이렇게:
용기 의 너비,텍스트 의 너비 가 정 해 지지 않 습 니 다.
우 리 는 먼저 우리 용기 의 너비 가 고정 되 어 있 지만 모든 텍스트 의 폭 은 확실 하지 않다 고 가정 합 니 다.
이렇게:
<div class="wrap">
<p title=" "> </p>
<p class="scroll" title=" "> </p>
<p class="scroll" title=" "> </p>
</div>
.wrap {
position: relative;
width: 150px;
overflow: hidden;
}
p {
white-space: nowrap;
}
inline-block 을 사용 하여 실제 텍스트 의 폭 을 가 져 옵 니 다.태그 의 폭 이 부모 요소 의 100%이기 때문에,만약 그렇다면,우 리 는 아래 의 조작 을 하기 가 매우 어렵다.우 리 는 먼저 실제 텍스트 의 폭 을 가 져 야 합 니 다.여 기 는 inline-block 의 특성 을 빌려 이 점 을 실현 할 수 있 습 니 다.우 리 는 우리 의 CSS 를 개선 할 수 있 습 니 다.
p {
+ display: inline-block;
white-space: nowrap;
}
이렇게 하면 현재탭 의 실제 폭 은 전체 텍스트 요소 의 너비 입 니 다.
Tips:여기 display:inline 을 사용 하지 않 은 것 은 다음 글 에서 p 요 소 를 굴 려 서 transform 을 사용 해 야 하기 때 문 입 니 다.그러나 transform 은 내 연 요소 위 에 작용 할 수 없습니다.구체 적 으로 규범 을 참고 할 수 있 습 니 다:transformanable element
스크롤 거 리 를 계산 하여 스크롤 합 니 다.
이렇게 해서 우 리 는 부모 요소 의 너비 150 px,텍스트 의 너비 가 생 겼 다.그러면 스크롤 이 필요 한 거 리 를 쉽게 얻 을 수 있 습 니 다.
스크롤 할 거리 S=넘 치 는 텍스트 요소 의 너비-부모 요소 의 너비
이렇게 하면 현재 텍스트 폭 이 변수 값 이 고 표시 할 수 있 는 것 만 찾 으 면 됩 니 다.transoform
transform:translate()를 사용 하여 위 치 를 이동 할 때 백분율 로 표시 하면 백분율 의 기준 요 소 는 요소 자체 입 니 다.즉,우리 transform:translate(100%,0)는 한 요소 자체 의 너비 거 리 를 오른쪽으로 이동 하 는 것 을 의미 합 니 다.
그러면 우 리 는 calc 를 통 해 상기 스크롤 해 야 할 거리 S-transform:translate(calc(-100%+150 px),0)를 쉽게 얻 을 수 있 고 애니메이션 에 삽입 할 수 있 습 니 다.
p:hover {
animation: move 1.5s infinite alternate linear;
}
@keyframes move {
0% {
transform: translate(0, 0);
}
100% {
transform: translate(calc(-100% + 150px), 0);
}
}
이로써 용기 의 폭 을 초과 한 텍스트 에 대해 우 리 는 상술 한 효 과 를 쉽게 완성 할 수 있다.부정 폭 문자 주마등 왔 다 갔다 스크롤 전시-부모 용기 너비,하위 요소 너비 부정
부모 용기 부정 폭
물론 아직 끝나 지 않 았 습 니 다.
부모 용기 의 너비 도 고정 되 지 않 거나,calc 호환성 문제 로 이 방법 을 사용 할 수 없습니다.그러면 우리 가 해 야 할 일 은 고정된 CSS 코드 에서 현재 요소 의 너비 도 운동 할 수 있 고 부모 용기 의 너비 도 이동 할 수 있다 는 것 이다.
공교롭게도 CSS 는 상술 한 요 구 를 완성 할 수 있 습 니 다.우 리 는 animation 의 코드 를 개조 합 니 다.
@keyframes move {
0% {
left: 0;
transform: translate(0, 0);
}
100% {
left: 100%;
transform: translate(-100%, 0);
}
}
이렇게 하면 부모 용기 의 너비 가 어떻든 텍스트 요소 의 너비 가 어떻든 넘 치 는 텍스트 에 대한 스크롤 전 시 를 실현 할 수 있 습 니 다.
부정 폭 문자 주마등 왔 다 갔다 스크롤 전시-부모 용기 부정 폭,하위 요소 부정 폭
부분 부족 점
1.텍스트 길이 가 부모 요소 의 폭 을 초과 하 는 지 판단 할 수 없습니다.
물론 상기 방안 은 완벽 한 방안 이 아니다.만약 에 우리 가 본 논문 의 길이 가 넘 치 는 상황 에 만 hover 를 원 할 때 구 르 는 것 은 순수 CSS 를 사용 하 는 상황 에서 이 루어 질 수 없다.
현재 요소 의 길이 가 부모 요소 의 길이 보다 큰 지 CSS 를 통 해 선택 적 으로 애니메이션 을 할 수 없습니다.CSS 는 스타일 만 책임 지고 행동 을 통제 하지 않 기 때문이다.따라서 실제 사용 에 서 는 자바 스 크 립 트 의 간단 한 판단 을 통 해 클 라 스 를 통 해 제어 해 야 할 수도 있 습 니 다.
2.깜빡 임 애니메이션
부모 용기 의 너비 가 정 해 지지 않 은 상황 에서 두 속성 을 동시에 애니메이션 해 야 하고 변위 하 는 방향 이 반대 이기 때문에 애니메이션 은 약간 반 짝 거 릴 수 있 습 니 다.이것 은 잠시 특별히 좋 은 해결 방안 을 찾 지 못 했다.
이상 은 CSS 의 부정 확 한 넘 침 텍스트 가 스크롤 에 적합 한 상세 한 내용 입 니 다.CSS 의 부정 확 한 넘 침 텍스트 가 스크롤 에 적합 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
장치 너비가 특정 너비보다 크고 특정 너비보다 작을 때 웹 페이지 CSS 스타일을 변경하는 방법은 무엇입니까?장치 너비가 특정 너비보다 크고 특정 너비보다 작을 때 웹 페이지 CSS 스타일을 변경하려면 @media의 미디어 쿼리 구문을 사용한 다음 구문을 작성하여 스타일의 최소 너비를 정의해야 합니다. 적용된 후 and라는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.