실제 프로젝트에서는 텍스트 내용 길이의 불확실성과 페이지 레이아웃의 고정성으로 인해 텍스트 내용이 p(또는 다른 태그, 아래 동일) 영역을 초과하는 것이 불가피합니다. 더 나은 접근 방식은 텍스트를 다음과 같이 처리하는 것입니다. 제한된 p 너비를 초과하면 자동으로 줄임표(...)와 함께 표시됩니다. 이러한 방식으로 사용자는 여기에 생략된 텍스트가 있음을 알 수 있습니다. CSS에는 text-overflow:ellipsis라는 속성이 있습니다. 예를 들어 CSS를 사용하면 다음과 같이 작성할 수 있습니다.
{width:27em; text-overflow:ellipsis; :ellipsis;overflow:hidden;}Firefox 브라우저에서만 텍스트 오버플로 줄임표를 구현할 수 없으며 텍스트를 가운데에서 직접 클릭하면 이를 달성하기 위해 CSS를 사용하는 방법에 대해서는 설명하지 않습니다. 여기서 가장 중요한 것은 JS를 사용하여 구현하는 방법과 JS를 통해 간단한 구성 요소를 작성하는 방법에 대해 이야기하는 것입니다. JS의 초기화 메서드를 직접 호출하여 구현할 수 있습니다! 예를 들어, 다음 효과는 다음과 같습니다.
뒤에 점이 표시되어 이 효과를 완성하기 위해 표시되지 않은 콘텐츠가 더 있음을 사용자에게 상기시킵니다!
말도 안되는 소리부터 먼저 잘라보세요! 먼저 제가 만든 데모 효과를 보시면 어떤 효과인지 이해가 되실 겁니다!
효과를 보고 싶다면 클릭해주세요! 좋아요?
1 '...', 컨테이너의 길이가 기본값을 초과할 때 표시되는 유형은 줄임표입니다. lineHeight 18, dom 노드의 기본 행 높이는 18입니다.isShowTitle true, title 제목이 필요한지 여부 모든 내용 표시, 기본값은 true isCharLimit false 문자 길이를 기준으로 줄임표 표시를 제한합니다. maxLength 20 기본 길이는 20입니다. 20자를 초과하면 줄임표가 표시됩니다. 2: 분석 1. 먼저 이 구성 요소에 대해 이야기해 보겠습니다. 문자열을 가로채는 2가지 방법을 지원합니다. 첫째: 문자 길이에 따라 가로채고 이를 초과한 후에는 타원을 표시합니다. 예를 들어 다음과 같이 부릅니다.new MultiEllipsis ({ "targetCls" : '.text8', "isCharLimit": true, "maxLength": 18 });이 초기화는 다음을 의미합니다. isCharLimit이 true이면 문자 수만큼 가로채겠다는 뜻입니다. 최대 길이 maxLength는 18입니다. 이렇게 초기화하면 코드가 먼저 isCharLimit이 true인지 확인한 다음 문자 수에 따라 직접 가로채기 때문입니다. 다음 코드는 다음과 같습니다. 2. 두 번째는 기본 구성과 같이 줄 수와 높이에 따라 가로채기됩니다. 항목의 행 높이는 18입니다. 2개의 행을 표시하려면 높이 h =를 의미합니다. 18*2. 컨테이너의 높이가 100이면 차단 방법은 다음과 같습니다. (100 - 유형의 길이 - 1) 18×2보다 크면 계속 차단합니다. 가로채지 않고 줄임표 효과가 표시됩니다! 다음 코드는 단점: 하지만 행 높이 가로채기를 사용하면 데이터가 상대적으로 작으면 괜찮지만, 높이가 500픽셀 이상인 등 데이터가 많으면 상대적으로 매번 n번 계산해야 하기 때문에 성능에 영향을 미칩니다(n은 루프에서 호출되는 함수가 많다는 것을 의미함). 모든 JS 코드는 다음과 같습니다:
/* * 基于JS的MultiEllipsis * @author tugenhua */ function MultiEllipsis(options) { var self = this; self.options = $.extend({},defaults,options || {}); self._init(); } $.extend(MultiEllipsis.prototype,{ // 页面初始化 _init: function(){ var self = this, cfg = self.options; if(cfg.targetCls == null || $(cfg.targetCls + "")[0] === undefined) { if(window.console) { console.log("targetCls不为空!"); } return; } if(cfg.isShowTitle) { // 获取元素的文本 添加title属性 var title = self.getText(); $(cfg.targetCls ).attr({"title":title}); } // 如果是按照字符来限制的话 那么就不按照高度来比较 直接返回 if(cfg.isCharLimit) { self._charCompare(); return; } self._compareHeight(cfg.lineHeight * cfg.limitLineNumber); }, /* * 按照字符的长度来比较 来显示文本 * @method _charCompare {private} * @return 返回新的字符串到容器里面 */ _charCompare: function(){ var self = this, cfg = self.options; var text = self.getText(); if(text.length > cfg.maxLength) { var curText = text.substring(0,cfg.maxLength); $($(cfg.targetCls + "")[0]).html(curText + cfg.type); } }, /* * 获取目标元素的text * 如果有属性 data-text 有值的话 那么先获取这个值 否则的话 直接去html内容 * @method getText {public} */ getText: function(){ var self = this, cfg = self.options; return $.trim($($(cfg.targetCls + "")[0]).html()); }, /* * 设置dom元素文本 * @method setText {public} */ setText: function(text){ var self = this, cfg = self.options; $($(cfg.targetCls + "")[0]).html(text); }, /* * 通过配置项的 行数 * 一行的行高 是否大于或者等于当前的高度 * @method _compareHeight {private} */ _compareHeight: function(maxLineHeight) { var self = this; var curHeight = self._getTargetHeight(); if(curHeight > maxLineHeight) { self._deleteText(self.getText()); } }, /* * 截取文本 * @method _deleteText {private} * @return 返回被截取的文本 */ _deleteText: function(text){ var self = this, cfg = self.options, typeLen = cfg.type.length; var curText = text.substring(0,text.length - typeLen - 1); curText += cfg.type; // 设置元素的文本 self.setText(curText); // 继续调用函数进行比较 self._compareHeight(cfg.lineHeight * cfg.limitLineNumber); }, /* * 返回当前dom的高度 */ _getTargetHeight: function(){ var self = this, cfg = self.options; return $($(cfg.targetCls + "")[0]).height(); } }); var defaults = { 'targetCls' : null, // 目标要截取的容器 'limitLineNumber' : 1, // 限制的行数 通过 行数 * 一行的行高 >= 容器的高度 'type' : '...', // 超过了长度 显示的type 默认为省略号 'lineHeight' : 18, // dom节点的行高 'isShowTitle' : true, // title是否显示所有的内容 默认为true 'isCharLimit' : false, // 根据字符的长度来限制 超过显示省略号 'maxLength' : 20 // 默认为20 };관련 권장 사항:
CSS는 표시되는 문자 수를 제한하고 줄임표를 사용하여 초과분을 나타냅니다.
제목에 줄임표 '...'를 표시하는 방법 텍스트 오버플로
html 텍스트에 표시되는 문자 수를 제어하기 위해 줄임표를 사용하는 방법이 초과됩니다
위 내용은 Node.js는 텍스트를 초과하면 줄임표가 된다는 것을 인식합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

JavaScript는 1995 년에 시작하여 Brandon Ike에 의해 만들어졌으며 언어를 C로 실현했습니다. 1.C Language는 JavaScript의 고성능 및 시스템 수준 프로그래밍 기능을 제공합니다. 2. JavaScript의 메모리 관리 및 성능 최적화는 C 언어에 의존합니다. 3. C 언어의 크로스 플랫폼 기능은 자바 스크립트가 다른 운영 체제에서 효율적으로 실행하는 데 도움이됩니다.

JavaScript는 브라우저 및 Node.js 환경에서 실행되며 JavaScript 엔진을 사용하여 코드를 구문 분석하고 실행합니다. 1) 구문 분석 단계에서 초록 구문 트리 (AST)를 생성합니다. 2) 컴파일 단계에서 AST를 바이트 코드 또는 기계 코드로 변환합니다. 3) 실행 단계에서 컴파일 된 코드를 실행하십시오.

Python 및 JavaScript의 미래 추세에는 다음이 포함됩니다. 1. Python은 과학 컴퓨팅 분야에서의 위치를 통합하고 AI, 2. JavaScript는 웹 기술의 개발을 촉진하고, 3. 교차 플랫폼 개발이 핫한 주제가되고 4. 성능 최적화가 중점을 둘 것입니다. 둘 다 해당 분야에서 응용 프로그램 시나리오를 계속 확장하고 성능이 더 많은 혁신을 일으킬 것입니다.

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.

C 및 JavaScript는 WebAssembly를 통한 상호 운용성을 달성합니다. 1) C 코드는 WebAssembly 모듈로 컴파일되어 컴퓨팅 전력을 향상시키기 위해 JavaScript 환경에 도입됩니다. 2) 게임 개발에서 C는 물리 엔진 및 그래픽 렌더링을 처리하며 JavaScript는 게임 로직 및 사용자 인터페이스를 담당합니다.

JavaScript는 웹 사이트, 모바일 응용 프로그램, 데스크탑 응용 프로그램 및 서버 측 프로그래밍에서 널리 사용됩니다. 1) 웹 사이트 개발에서 JavaScript는 HTML 및 CSS와 함께 DOM을 운영하여 동적 효과를 달성하고 jQuery 및 React와 같은 프레임 워크를 지원합니다. 2) 반응 및 이온 성을 통해 JavaScript는 크로스 플랫폼 모바일 애플리케이션을 개발하는 데 사용됩니다. 3) 전자 프레임 워크를 사용하면 JavaScript가 데스크탑 애플리케이션을 구축 할 수 있습니다. 4) node.js는 JavaScript가 서버 측에서 실행되도록하고 동시 요청이 높은 높은 요청을 지원합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

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

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
