>  기사  >  웹 프론트엔드  >  CSS에서 텍스트 표시 줄임표의 오버플로 부분을 만드는 방법은 무엇입니까? (코드 예)

CSS에서 텍스트 표시 줄임표의 오버플로 부분을 만드는 방법은 무엇입니까? (코드 예)

青灯夜游
青灯夜游원래의
2018-09-07 15:30:5746584검색

우리는 웹 프론트엔드 개발을 할 때 보통 기사 제목을 얻어서 한 줄씩 표시합니다. 하지만 제목이 너무 길면 줄 바꿈이 발생합니다. 또한, 텍스트 정보 중 일부를 표시할 경우 전체를 표시하기에는 너무 번거로워서 웹 경험이 저하될 수 있습니다. Overflow:hidden을 사용하면 너비를 초과하는 문자를 숨길 수 있습니다. 하지만 결말은 항상 좀 뻣뻣한 것 같아요. 또한 나중에 아직 표시되지 않은 문자가 있음을 사용자에게 알리는 것도 도움이 되지 않습니다. 가장 좋은 방법은 추가 문자를 타원으로 바꾸는 것입니다.

이 장에서는 CSS를 사용하여 텍스트 표시 타원의 오버플로 부분을 만드는 방법을 자세히 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다.

1: 한 줄의 텍스트가 오버플로되어 줄임표가 표시됩니다... (대부분 제목의 초과 부분에 줄임표가 표시됩니다...)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>CSS如何使文本溢出部分显示省略号?单行超出</title>
		<style>
			*{margin: 0px;padding: 0px;}
			.box{width: 300px;height: 500px;margin: 50px auto;}
			.overflow{
				width:220px;
				overflow:hidden;
				white-space: nowrap;
				text-overflow: ellipsis;
				-o-text-overflow:ellipsis;
			}
		</style>
	</head>
	<body>
		<div class="box">
			<p>
				css 实现单行文本超出长度显示省略号
			</p>
			<p class="overflow">
				css 实现单行文本超出长度显示省略号
			</p>
		</div>
	</body>
</html>

위 코드의 렌더링은 다음과 같습니다.

CSS에서 텍스트 표시 줄임표의 오버플로 부분을 만드는 방법은 무엇입니까? (코드 예)

그 중 공백: nowrap;은 레이블을 만날 때까지 텍스트가 줄 바꿈되지 않고 계속 이어짐을 의미합니다.

overflow: Hidden; 즉, 초과 부분이 숨겨집니다.

text-overflow: ellipsis; 텍스트 개체 오버플로가 표시될 때... 물론 점을 표시하지 않도록 클립 속성을 설정할 수도 있습니다. -overflow: Opera 브라우저와 호환되도록

2: 여러 줄의 텍스트 오버플로는 줄임표를 표시합니다...

1 CSS 속성 설정을 직접 사용합니다(-webkit 커널만 적용됨)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>CSS如何使文本溢出部分显示省略号?多行超出</title>
		<style>
			*{margin: 0px;padding: 0px;}
			.box{
				width: 280px;
				height: 62px;
				margin: 50px auto;
				overflow: hidden;
				text-overflow: ellipsis;
				display: -webkit-box;
				-webkit-line-clamp: 3;
				-webkit-box-orient: vertical;
			}
		</style>	
	</head>
	<body>
		<div class="box">
			css 实现多行文本超出长度显示省略号,css 实现多行文本超出长度显示省略号,
			css 实现多行文本超出长度显示省略号
		</div>
	</body>
</html>

위 코드의 렌더링은 다음과 같습니다.

CSS에서 텍스트 표시 줄임표의 오버플로 부분을 만드는 방법은 무엇입니까? (코드 예)그 중 대부분의 모바일 브라우저는 WebKit 커널을 기반으로 하므로 이 방법은 모바일 단말에 적합합니다.

-webkit-line-clamp는 개수를 제한하는 데 사용됩니다. 블록 요소에 표시되는 텍스트 줄입니다. 이는 지원되지 않는 WebKit 속성이며 CSS 사양 초안에는 표시되지 않습니다.

display: -webkit-box는 개체를 유연한 상자 모델로 표시합니다.

-webkit-box- 유연한 상자 개체의 하위 요소 배열을 설정하거나 검색합니다.

text-overflow: 여러 줄 사용을 위한 줄임표 텍스트의 경우 줄임표 "..."를 사용하여 범위 너머의 텍스트를 숨깁니다.

2. 의사 클래스 사용

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>CSS如何使文本溢出部分显示省略号?多行超出</title>
		<style>
			*{margin: 0px;padding: 0px;}
			.box{
				width: 280px;
				height: 62px;
				margin: 50px auto;
				overflow: hidden;
				text-overflow: ellipsis;
				display: -webkit-box;
				-webkit-line-clamp: 3;
				-webkit-box-orient: vertical;
			}
			p{position: relative; line-height: 20px; max-height: 40px;overflow: hidden;}
			p::after{
				content: "..."; position: absolute; bottom: 0; right: 0; padding-left: 40px;
				background: -webkit-linear-gradient(left, transparent, #fff 55%);
				background: -o-linear-gradient(right, transparent, #fff 55%);
				background: -moz-linear-gradient(right, transparent, #fff 55%);
				background: linear-gradient(to right, transparent, #fff 55%);
			}
		</style>	
	</head>
	<body>
		<div class="box">
		  <p>
		      css 实现多行文本超出长度显示省略号,
		      css 实现多行文本超出长度显示省略号,
		      css 实现多行文本超出长度显示省略号
		 </p>
		</div>
	</body>
</html>

위 코드의 렌더링은 다음과 같습니다.

CSS에서 텍스트 표시 줄임표의 오버플로 부분을 만드는 방법은 무엇입니까? (코드 예)이 방법은 응용 범위가 넓지만 텍스트가 줄을 초과하지 않는 경우에도 줄임표가 나타납니다. 메소드는 js로 최적화될 수 있습니다.

과도한 텍스트가 노출되는 것을 방지하려면 높이를 줄 높이의 정수배로 설정하세요. p::after에 그라데이션 배경을 추가하면 텍스트의 절반만 표시되지 않습니다. ie6-7은 콘텐츠를 표시하지 않으므로 ie6-7과 호환되도록 태그를 추가해야 합니다(예: ...). ::이후와 :이후.

3. 절대 위치 지정 및 패딩 사용(크로스 브라우저 솔루션)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>CSS如何使文本溢出部分显示省略号?多行超出</title>
		<style>
			*{margin: 0px;padding: 0px;}
			.box{width: 300px;height: 500px;margin: 50px auto;}
			.con{
			  position: relative;
			  height: 40px;
			  width: 250px;
			  line-height: 20px;
			  overflow: hidden;
			  padding-right: 12px;
			}
			.t{
			  position: absolute;
			  right: 0;
			  bottom: 0;
			}
		</style>	
	</head>
	<body>
		<div class="box">
			 <p class="con">
			 	css 实现多行文本超出长度显示省略号,
			 	css 实现多行文本超出长度显示省略号,
			 	css 实现多行文本超出长度显示省略号。
			 	<span class="t">...</span>
			 </p>
		</div>
	</body>
</html>

위 코드 렌더링:

CSS에서 텍스트 표시 줄임표의 오버플로 부분을 만드는 방법은 무엇입니까? (코드 예)이 방법의 원칙은 다음과 같습니다. 먼저 텍스트가 포함된 요소에 그런 다음 텍스트가 포함된 요소의 오른쪽에 줄임표... 위치(오른쪽 패딩)를 남겨두고 마지막으로 절대 위치 지정을 사용하여 줄임표... 위치를 패딩 오른쪽에 배치합니다. 오른쪽 영역(오른쪽 하단 모서리).

위 내용은 CSS에서 텍스트 표시 줄임표의 오버플로 부분을 만드는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.