어젯밤에 svg를 사용하여 동적 툴팁을 만드는 방법을 보고 오늘 즉흥적으로 배워서 원리도 이해하고 많은 것을 얻었습니다! 다음으로 svg에 대해 좀 더 알아봐야겠네요.
우리는 다음과 같이 일반적으로 어려움을 겪는 몇 가지 세부 사항을 수행하는 방법에도 주의를 기울였습니다.
<article> <section id="sound1"> </section> <section id="sound2"> </section> </article>
기사 태그 길이는 각각 600px이고 섹션은 300px입니다. 그런 다음 이를 display:inline-block으로 설정하면 다음 효과가 나타납니다.
상식적으로 아바타는 가로로 배열되어야 합니다. 이는 display:inline-block이 기사 태그와 섹션 태그 사이의 공간을 공간과 공간 부스로 렌더링하므로 이미지가 공간에 배치되지 않기 때문입니다. 해결책은 기사 태그와 섹션 태그에 다음 CSS 코드를 추가하는 것입니다.
article{ width:600px; margin:200px; font-size:0; } article section{ display:inline-block; width:300px; font-size:14px; position:relative; }
그래서 공백이 제거되었습니다!
또한 svg 웹 이미지의 경우 이미지 스타일을 수정할 수 있도록 수정할 수 있으며 그 형식은 대략 다음과 같습니다(예).
<?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="600px" height="300px" viewBox="0 0 600 300" enable-background="new 0 0 600 300" xml:space="preserve"> <polygon points="89.571,6.648 513.333,6.648 590.25,75.342 553.002,215.306 313.065,273.358 300,293.352 288.876,272.71 48.936,215.306 9.75,75.342 "/> </svg>
따라서 html 파일에 도입하는 것은 불가능합니다. 이러한 svg 이미지가 많으면 수정하는 것이 매우 번거로울 것입니다!
그래서 Ajax를 사용하여 다음 이미지를 로드했습니다.
html dom:
// 질문 2: svg 이미지를 어떻게 가져오나요? svg 전체를 가져올 수 없어서 수정 및 편집이 불편합니다
// 팁 2: js를 사용하여 로드
$('svg[data-src]').each(function(index, svg) { var src = $(svg).data('src'); //data用于获取data-*属性的路径 $.ajax({ url: src, dataType: 'xml', success: function(content) { var doc = content.documentElement; $(doc).attr({ width: $(svg).attr('width'), height: $(svg).attr('height') }); $(svg).after(doc).remove(); } }) });
svg 이미지에만 그림의 획 애니메이션 효과를 적용하는 좋은 방법도 있습니다.
Stroke-dasharray(점선 획, 전체 획의 효과를 얻기 위해 크기에 맞게 계속 조정하려고 노력할 수 있음)를 사용하세요. 그런 다음 전환을 사용하여 이 애니메이션을 구현합니다
최종 효과(사진과 같이 온라인 시연이 없어 애니메이션 효과를 제작할 수 없지만 아래 게시된 코드를 직접 복사한 후 svg 이미지 2개와 아바타를 다운로드하여 사용하세요)
코드는 다음과 같습니다.
<!DOCTYPE html> <html lang="zh-cn"> <head> <title>toolTip聊天对话框制作</title> <meta charset="utf-8"/> <meta name="keywords" content="" /> <meta name="description" content="" /> <script type="text/javascript" src="jquery.js"></script> <style type="text/css"> h1{ color:red; font-size:18px; } article{ width:600px; margin:200px; font-size:0; } article section{ /*问题一:对于display:inline-block;会出现两个section无法并排排列,由于使用此属性会将article与section之间的空白处渲染成空格,于是无法并排*/ /*技巧一: 父元素设置 font-size:0;清除空白*/ display:inline-block; width:300px; font-size:14px; position:relative; } .text-center{ text-align:center; } #sound1,#sound2{ cursor:pointer; } #sound1 img,#sound2 img{ width:100px; height:100px; border-radius:100%; } .sound_1,.sound_2{ position:absolute; top:-104px; width:200px; height:100px; box-sizing: border-box; opacity:1; } .sound_2{ padding:28px; } .sound_1{ padding: 25px 68px 25px 30px; left: -150px; top: -134px; width: 280px; height: 140px; } .sound_1 svg ,.sound_2 svg{ position:absolute; top:0; left:0; } .sound_1 p,.sound_2 p{ position:relative; margin:0; color:#444; font-size:12px; } .sound_1 svg path, .sound_2 svg polygon{ fill:#fff;/*填充的颜色*/ stroke:red;/*描边的颜色*/ stroke-width: 6px;/*边的宽度*/ } .sound_1 svg #path1 { transform: scale(0, 0); transform-origin: center; opacity: 0; transition-duration: .3s; transition-delay: 0; } .sound_1 svg #path2 { transform: scale(0, 0); transform-origin: center; opacity: 0; transition-duration: .3s; transition-delay: .1s; } .sound_1 svg #path3 { transform: scale(0, 0); transform-origin: center; opacity: 0; transition-duration: .3s; transition-delay: .2s; } .sound_1 svg #path4 { transform: scale(0, 0); transform-origin: center; opacity: 0; transition-duration: .3s; transition-delay: .25s; } .sound_1 p { transition: .2s .35s; opacity: 0; transform: translate(0, -10px); } #sound1:hover .sound_1 svg #path1,#sound1:hover .sound_1 svg #path2,#sound1:hover .sound_1 svg #path3,#sound1:hover .sound_1 svg #path4{ transform: scale(1, 1); opacity: 1; transition-delay: 0; } #sound1:hover .sound_1 p{ opacity: 1; transform: translate(0, 0); } /*问题三:对于图片的描边动画效果,这里又怎么个好的方法,只针对svg图像*/ /*技巧三:使用stroke-dasharray(虚线描边,可以不断尝试,使其调至适应大小,实现描边的效果)stroke-dashoffset(虚线间隔,调至整个svg没有描边的效果),然后使用transition实现这个动画 */ .sound_2 svg polygon{ stroke-dasharray: 1500; stroke-dashoffset: 1500; fill-opacity: 0; transition: .6s; } .sound_2 p { transition: .4s; transform: scale(-0.5); opacity: 0; transform: translate(0, -10px); } #sound2:hover .sound_2 svg polygon{ stroke-dashoffset: 0; fill-opacity: 1; } #sound2:hover .sound_2 p { transform: scale(0); opacity: 1; transform: translate(0, 0); } </style> </head> <body> <h1 id="toolTip聊天对话框制作">toolTip聊天对话框制作</h1> <article> <section id="sound1"> <div class="text-center"><img src="/static/imghwm/default1.png" data-src="nan.jpg" class="lazy" / alt="svg를 사용하여 동적 tooltip_javascript 기술 생성" ></div> <p class="text-center">韩国正太</p> <div class="sound_1"> <svg data-src="bubble1.svg" width="280" height="140"></svg> <p>听说优衣库的试衣间已全面升级,空间大小扩充一倍,精装修,同时四面都安有镜子,方便无死角录像呢,要去试一下不,美女!</p> </div> </section> <section id="sound2"> <div class="text-center"><img src="/static/imghwm/default1.png" data-src="nv.jpg" class="lazy" / alt="svg를 사용하여 동적 tooltip_javascript 기술 생성" > </div> <p class="text-center">优衣库美女</p> <div class="sound_2"> <svg data-src="bubble2.svg" width="200" height="100"></svg> <p>听起来就很刺激,那走,帅哥,准备家伙,go!</p> </div> </section> </article> <script type="text/javascript"> $(document).ready(function() { // 问题二:对于svg图像我们要如何引入,不可能将整个svg都引入吧,不便于修改编辑 // 技巧二:使用js进行加载 $('svg[data-src]').each(function(index, svg) { var src = $(svg).data('src'); //data用于获取data-*属性的路径 $.ajax({ url: src, dataType: 'xml', success: function(content) { var doc = content.documentElement; $(doc).attr({ width: $(svg).attr('width'), height: $(svg).attr('height') }); $(svg).after(doc).remove(); } }) }); }) </script> </body> </html>
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

실제 세계에서 JavaScript의 응용 프로그램에는 서버 측 프로그래밍, 모바일 애플리케이션 개발 및 사물 인터넷 제어가 포함됩니다. 1. 서버 측 프로그래밍은 Node.js를 통해 실현되며 동시 요청 처리에 적합합니다. 2. 모바일 애플리케이션 개발은 재교육을 통해 수행되며 크로스 플랫폼 배포를 지원합니다. 3. Johnny-Five 라이브러리를 통한 IoT 장치 제어에 사용되며 하드웨어 상호 작용에 적합합니다.

일상적인 기술 도구를 사용하여 기능적 다중 테넌트 SaaS 응용 프로그램 (Edtech 앱)을 구축했으며 동일한 작업을 수행 할 수 있습니다. 먼저, 다중 테넌트 SaaS 응용 프로그램은 무엇입니까? 멀티 테넌트 SAAS 응용 프로그램은 노래에서 여러 고객에게 서비스를 제공 할 수 있습니다.

이 기사에서는 Contrim에 의해 확보 된 백엔드와의 프론트 엔드 통합을 보여 주며 Next.js를 사용하여 기능적인 Edtech SaaS 응용 프로그램을 구축합니다. Frontend는 UI 가시성을 제어하기 위해 사용자 권한을 가져오고 API가 역할 기반을 준수하도록합니다.

JavaScript는 현대 웹 개발의 핵심 언어이며 다양성과 유연성에 널리 사용됩니다. 1) 프론트 엔드 개발 : DOM 운영 및 최신 프레임 워크 (예 : React, Vue.js, Angular)를 통해 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축합니다. 2) 서버 측 개발 : Node.js는 비 차단 I/O 모델을 사용하여 높은 동시성 및 실시간 응용 프로그램을 처리합니다. 3) 모바일 및 데스크탑 애플리케이션 개발 : 크로스 플랫폼 개발은 개발 효율을 향상시키기 위해 반응 및 전자를 통해 실현됩니다.

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

Python은 데이터 과학 및 기계 학습에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 간결한 구문 및 풍부한 라이브러리 생태계로 유명하며 데이터 분석 및 웹 개발에 적합합니다. 2. JavaScript는 프론트 엔드 개발의 핵심입니다. Node.js는 서버 측 프로그래밍을 지원하며 풀 스택 개발에 적합합니다.

JavaScript는 이미 최신 브라우저에 내장되어 있기 때문에 설치가 필요하지 않습니다. 시작하려면 텍스트 편집기와 브라우저 만 있으면됩니다. 1) 브라우저 환경에서 태그를 통해 HTML 파일을 포함하여 실행하십시오. 2) Node.js 환경에서 Node.js를 다운로드하고 설치 한 후 명령 줄을 통해 JavaScript 파일을 실행하십시오.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

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

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