CSS3:优雅地绘制不规则ICON_html/css_WEB-ITnose
早上在w3ctech上看到 中国第二届CSS Conf总结 的时候,真是开心极了;
自从去年在慕课网上看了第一届CSS conf 视频之后,整个人都震惊了,原来还有大会是专门用来讨论CSS的,而且分享的CSS知识真是让人眼界大开;
我在博客园写的第一篇博文《布局神器Flexbox》便是受到第一届CSS Conf的启发;
所以,算是结下了不解之缘;如今看到第二届分享的视频和PPT时,虽然才看到 《重拾 css 的乐趣(上)》 这一部分内容,但却很受启发
今天文章的主题是用css3实现下面这个分享图标:
因为之前用css3多次处理过类似场景:
所以,外框部分很快就顺利实现:
实现代码
<!--分享icon--> <div class="icon"> <i class="short top-short"></i> <i class="short right-short"></i> <i class="icon-triangle"></i> <i class="irregular"></i> </div>
/** *@ css3 分享按钮icon *@ author:kevin *@ 2015/8/15 */ .icon { position: relative; width: 180px; height: 180px; margin: 300px auto; border-bottom: 20px solid #333; border-left: 20px solid #333; } .short { position: absolute; width: 50px; height: 20px; background-color: #333; } .top-short { top: 0; left: 0; } .right-short { right: -15px; bottom: 0; transform: rotate(90deg); } .top-short:after { position: absolute; right: -20px; display: block; content: ''; border-width: 0 0 20px 20px; border-style: solid; border-color: transparent transparent transparent #333; } .right-short:after { position: absolute; left: -20px; display: block; content: ''; border-width: 20px 0 0 20px; border-style: solid; border-color: #333 transparent transparent transparent; }
但在实现不规则的"鹰嘴"时,便无从下手,因为之前从来用CSS处理过类似不规则图形;
在《重拾 css 的乐趣(上)》中,作者清晰地给出了实现“鹰嘴”的思路:
这里有一个块元素,设置了边框和圆角,它的两条边框会通过一段圆弧连接起来:
首先,第一个真相,边框圆角可以指定两个半径值(下图中的 r1 和 r2):
如果这两个半径值相等,则连接两条边框的圆弧就是一条相标准的 1/4 圆弧。如果不相等(比如我们把 r2减小),会得到这样的效果:
我们发现连接两条边框的圆弧会变成一道 1/4 椭圆弧。这个真相解决了我们在尺度上的问题。接下来,我们需要解决形状上的问题。
第二个真相,不同方向上的边框的厚度(下图中的 w1 和 w4)也是可以不一样的:
如果我们逐渐减小 w4 的值至零,我们会得到这个形状:
以上内容引用自:https://github.com/cssmagic/blog/issues/52
作者:cssmagic
自己动手实践,一开始犯了一些错误,不过这些错误导致的结果却很有趣:
比如这个:
.irregular { width: 100px; height: 60px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; transform: rotate(-15deg); background-color: #333; border-radius: 62px 0px; }
最终效果:
在线演示
.irregular{ position: absolute; top: 22%; right: 0; bottom: 0; left: 0; display: inline-block; width: 120px; margin: auto; border-top: 40px solid #333; border-left: 0 solid #333; border-radius: 100px 0;}.irregular:after{ position: absolute; top: -70px; right: -40px; display: block; content: ''; border-width: 50px 0 50px 50px; border-style: solid; border-color: transparent transparent transparent #333;}
引用 cssmagic 的一段话作为本文的结束:
其实,最近这几年,在 CSS 领域出现了很多好东西:
当我听说它们、了解它们、使用它们的时候,我的心情是这样的??
右边的这个小男孩就是我。我的心情是激动、新奇、兴奋。

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.
