div+css3绘制基本图形 - 白色的海
基本图形包括:矩形、圆角矩形、圆形、椭圆形、三角形、值线、弧
这些图形的绘制用到了CSS圆角属性,不考虑IE8。
下面的实现在chrome浏览器运行通过。
1.矩形
比较简单,通过CSS设置宽度、高度、背景色即可。
html:
<span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="rectangle"</span><span style="color: #0000ff;">></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span>
css:
<span style="color: #000000;"> .rectangle { width: 150px; height: 100px; background-color: orangered; }</span>
呈现:
2.圆角矩形
在矩形设置的基础上,增加圆角属性设定,这里用的单位是百分比,好处是可适应整体大小的变化而变化。
html:
<span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">='rounded-rectangle'</span><span style="color: #0000ff;">></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span>
css:
<span style="color: #000000;"> .rounded-rectangle { width: 150px; height: 100px; background-color: orangered; <span style="background-color: #ffff00;">border-radius: 10%;</span> }</span>
呈现:
3.圆
设置为正方形,将圆角设成50%即可,其实就是圆角的半径为正方形的的半径。
html:
<span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">='circle'</span><span style="color: #0000ff;">></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span>
css:
<span style="color: #000000;"> .circle { width: 100px; height: 100px; background-color: orangered; <span style="background-color: #ffff00;">border-radius: 50%;</span> }</span>
呈现:
4.椭圆
在圆形的基础上,将正方形设置成矩形即可。
html:
<span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">='ellipse'</span><span style="color: #0000ff;">></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span>
css:
<span style="color: #000000;"> .ellipse { width: 150px; height: 100px; background-color: orangered; border-radius: 50%; }</span>
呈现:
5.三角形
乍一看三角形这个样子,还真是无从下手,没有什么现成的方法一步到位的完成,绘制它需要用到border的特性,这个很有意思。
html:
<span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">='triangle'</span><span style="color: #0000ff;">></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span>
分解1:
现在我们来看一下有趣的border,做一个正方形,宽高都设成100px,设定四个边的border的宽度为10px,每条边设置不同的颜色。
<span style="color: #000000;"> .triangle{ width: 100px; height: 100px; border-style: solid; background-color: orangered; border-top-color: red; border-right-color: green; border-bottom-color: blue; border-left-color:blueviolet; <span style="background-color: #ffff00;">border-top-width: 10px;</span> <span style="background-color: #ffff00;">border-bottom-width: 10px;</span> <span style="background-color: #ffff00;">border-left-width: 10px;</span> <span style="background-color: #ffff00;">border-right-width: 10px;</span> }</span>
呈现后发现很有意思,两条border边的交界处是斜角边,
分解2:
继续,将各条边的宽度放大,将正方形宽高都设成0px,将每条边的border的宽度都设成50px(原正方形宽度或高度的一半)
<span style="color: #000000;"> .triangle{ <span style="background-color: #ffff00;">width: 0px;</span> <span style="background-color: #ffff00;">height: 0px;</span> border-style: solid; background-color: orangered; border-top-color: red; border-right-color: green; border-bottom-color: blue; border-left-color:blueviolet; border-top-width: <span style="background-color: #ffff00;">50px</span>; border-bottom-width: <span style="background-color: #ffff00;">50px</span>; border-left-width: <span style="background-color: #ffff00;">50px</span>; border-right-width: <span style="background-color: #ffff00;">50px</span>; }</span>
是不是各个边都露出三角形了,要的形状就出来了,这就是有趣的border。
分解3:
最后一步就简单了,把不需要的边都透明掉,只留下底边,并且透明掉背景。
<span style="color: #000000;"> .triangle{ width: 0px; height: 0px; border-style: solid; background-color: <span style="background-color: #ffff00;">transparent</span>; border-top-color: <span style="background-color: #ffff00;">transparent</span>; border-right-color: <span style="background-color: #ffff00;">transparent</span>; <span style="background-color: #ffff00;">border-bottom-color: blue;</span> border-left-color:<span style="background-color: #ffff00;">transparent</span>; border-top-width: 50px; border-bottom-width: 50px; border-left-width: 50px; border-right-width: 50px; }</span>
透明掉各边和背景后,需要的三角形就出来了,很有趣。
如果要使他变成钝角,就把底边的宽度变小,如果是锐角,就增加宽度。
如果是直角,就把左或右border的宽度设成0px。
各种三角形可通过各边的宽度值的调整来实现。
6.直线
直线就比较简单,压缩高度或宽度就变成了直线。
html:
<span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">='line'</span><span style="color: #0000ff;">></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span>
css:
<span style="color: #000000;"> .line{ width: 100px; <span style="background-color: #ffff00;">height: 3px;</span> background-color: orangered; }</span>
呈现:
7.弧
本质上是利用圆角来实现,现在需要把矩形的左上角的圆角绘制成弧形,那么把右边和底边border的宽度设成0px,让他们不可见,设置左上角圆角的半径,让其变大,看得明显些,其余的圆角半径全都设成0px,这样一个弧形就完成了。
html:
<span style="color: #0000ff;"><span style="color: #800000;">div </span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">='arc'</span><span style="color: #0000ff;">></span><span style="color: #800000;">div</span><span style="color: #0000ff;">></span></span>
css:
<span style="color: #000000;"> .arc { width: 100px; height: 100px; border-style: solid; border-top-width: 10px; <span style="background-color: #ffff00;">border-bottom-width: 0px;</span> border-left-width: 10px; <span style="background-color: #ffff00;">border-right-width: 0px;</span> border-top-color: blue; border-bottom-color: red; border-left-color: red; border-right-color: red; background-color: <span style="background-color: #ffff00;">transparent</span>; border-top-right-radius: 0px; <span style="background-color: #ffff00;">border-top-left-radius: 100px;</span> border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }</span>
呈现:

핫 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; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

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

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

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

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

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

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

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.
