在对于CSS3和HTML5这些令人兴奋的并且实用的web技术迅速发展的几年。这篇文章将为大家阐述CSS3优秀图形的技术和性能,您将学习到可能被视为最终批准的规范中的一部分,和如何处理跨浏览器的不兼容和老的浏览器的不支持。准备好了吗,让我们现在开始。
介绍CSS3
CSS3是一个模块集,扩展了以前的CSS2规范。本文所讨论的图形技巧,大部分来自背景和边框模块。还有一点要记住,CSS3现在依然处于过渡阶段,不能因为现在最新的浏览器支持这些功能,而期望所有都浏览器能很快的支持它。
CSS3为我们带来了什么
当现在设计师们拥有着越来越多的新奇想法,加上浏览者更多追求华丽的表演。往往一个简单的图形设计就会让我们使用大量的代码来实现。CSS3的出现提出一些新的特性,使行我们更为容易的加强了对图形效果在创建代码上的权力。这些包括(点击图片示例,查看代码)
Shadows(阴影)
最近很多设计者开始习惯了这样事:你可以方便的添加本文的阴影。虽然IE还不支持text-shadow属性,但Safari、Firefox和chrome已经支持一段时间了。但真正令人兴奋的事是你可以使用box-shadow的属性来控制对box的阴影的变化。
Gradients(渐变)
首先这一个纯CSS示例,没有用到任何一张图片。因为还处于一个发展阶段,CSS3的渐变还没有成为一个标准的语法,但日前在WebKit (Safari, Chrome.)当然还有Firefox上已经可以使用了。
Borders with Rounded Corners(圆角框)
css已经可以对边框的类型提供一些选择(double, inset, dotted,等),但现在我们已经有能力对边框的每个角半径做出更多的控制 。是的,现在的圆角并不是用javascript和一些图片来实现,而是通过CSS3,更为简单且有效的方式来处理。
如何来设计块
首先我们一定先考虑到,采用最新的CSS3就会造成一部使用老版浏览器用户的兼容。但考虑到CSS3那些新的特性,对视觉的选择,还是要看你对用户的把握。如果你觉还不错,随着现在浏览器快速的更新,我相信CSS3还是一个不错的选择。
对于今天的示例,我们主要通过三个阶段来为我们加上这些风格。
从基本的开始
.styledbox {
background-color: #fed;
border-top: solid 1px white;
border-bottom: solid 1px #669;
padding: 10px 18px 10px 18px;
color: black;
font-family: "Lucida Sans MS", "Lucida Grande", Helvetica, sans-serif;
font-size: 10pt;
margin-bottom: 10px;
}
这是一段基本的代码,首先让我们先写一个div并在里面加上一些文本。你会看到一些基本的外观。
加上圆角
当开始使用这些代码,我们就会需要考虑对多种浏览器的支持,比如chrome,我们将开始使用WebKit版本。
-webkit-border-radius:
8px
哈,现在可以看到已经是圆角了,接下我们要比Gecko的支持(firefox)。
-moz-border-radius: 8px
border-radius: 8px
现在仍需要加上各个引擎版本的前缀。
如果你想对每一个角做更的样式,可以用border-[top-left|bottom-right|等]-radius 来定义 。注意,对于Gecko来说会有一些不同,可以用-moz-border-radius-topleft, 等…
加上阴影
现在我们要为其加上阴影,如果你之前使用过text-shadow的话,这个语法就会很面熟。
-webkit-box-shadow:
0px
1px
3px
rgba(
0
,
0
,
0
,
0.7
);
这里我们能看出,我使用的不是典型的十六进制法来表示颜色,而是使用的新rgba的方法。前三个整数代表了RGB三个颜色值(取值为0~255的色彩范围),但最后一个十进制值从0.0~1.0代表α值(其义是不透明度)。半透明是这里必要的选项,让我们创造出阴影的效果。
再次,别忘了代替版本。
-moz-box-shadow: 0px 1px 3px rgba(0,0,0,0.7);
box-shadow: 0px 1px 3px rgba(0,0,0,0.7);
加上渐变
好了,这里有一个比较棘手的问题。对于渐变,webkit和Gecko在定义并不是像上面那样看上去比较类似。导致我们不得不在两种浏览器上来回切换,使我们得到相同的结果。
这里是webkit的写法
background: -webkit-gradient(
linear,
center top, center bottom,
color-stop(0%, #fffffa),
color-stop(30%, #fed),
color-stop(80%, #fed),
color-stop(100%, #fffffa)
);
这里每一个color-stop都可以用百分比或位置的值(如PX)来定义,这样可以规范化每一个box。
对于Gecko,我们可以用更少的代码来实现。
background: -moz-linear-gradient(
top, #eef, #cce 30%, #cce 80%, #eef 100%
);
我推荐再做好webkit的再现Gecko的。这里有三种颜色,浏览器会逐行进行解释。
这里是Demo和代码。
额外讲解:加上背景图片
正如你所看到的,最终的效果是很漂亮的。但我们还能不能创作出把带有渐变和α-透明的背景用在图片呢。答案是:是的。
background: -webkit-gradient(
linear,
center top, center bottom,
color-stop(0%, rgba(255,255,255,0.8)),
color-stop(30%, rgba(255,255,255,0))
), url(http://www.siteshine.com/images/tan_background.jpg);
background: -moz-linear-gradient(
top, rgba(255,255,255,0.8), rgba(255,255,255,0) 30%
), url(http://www.siteshine.com/images/tan_background.jpg);
主要是在定义的代码后面加一个,再指定一个url。就可以做出这个漂亮的效果了。
设计窗体样式
一般来说,窗体的设计不会由CSS来控制(更多的采用本身OS的UI)。
这里是一个例子,使用CSS3来控制的表单设计。
一个很酷的是,这里我用了一个“外发光”样式在这里。
这里我还创建一个按钮,使用的是span这个标签。
<p>Here is some text. <span>Click Me</span> And more text.</p>
对于旧浏览器怎么办
重点对于一些旧浏览器和特殊的IE,我们应该怎么办。一些设计者为了给用户更好的视觉体验,避开了所有使用图像来代替CSS3的方式,其他的设计师则可能是费尽心力的投入,而使用户体会不到CSS3带来的视觉设计。
我的建议是,你可以第一次使用标准CSS2语法来设计网页,如果你找到一个可以接受的地方,可以对其添加CSS3带来的华丽的效果,如果没有找到可以接受的底线,那么还是去采用老式的方式。不过随着浏览器快速发展,和CSS3的标准化的到来,我相信,CSS3这个简单而实用的方式,将会更加普及。
总结
CSS3结束我们对图形设计上很多头痛的问题,同时也成为了一个开发设计的伟大的工具,用来营造一个奇妙的效果和独特的视觉风格。虽然在兼容性还存在一些问题,但对于那些一直用Photoshop和晦涩的Html/Css来实现这些图形效果的人,这样日子在一点点的远去了。
相关推荐
10个专案 我在2021年1月3日挑战自己,仅使用HTML和CSS在10天内构建10个项目。 这是我的10个有趣项目的源代码。
css3特性中最令人兴奋的莫过于选择器的增强,例如属性选择器可以根据某个属性值来选择标记,位置选择器可以根据子元素的位置来选择标记。 在目前很多使用的很多浏览器,例如IE7,主要支持css2.大部分属性选择器都不...
css3特性中最令人兴奋的莫过于选择器的增强,例如属性选择器可以根据某个属性值来选择标记,位置选择器可以根据子元素的位置来选择标记。 在目前很多使用的很多浏览器,例如IE7,主要支持css2.大部分属性选择器都不...
为用户构建的全栈Web应用程序,用于分享他们已经学习或发明的令人敬畏和令人兴奋的食谱创意 技术领域 API文档 有关所有api端点的完整文档,请参见 功能性 用户分为两类:注册用户和非注册用户,下面列出了每个类别的...
photos-cleaner:用于在用户硬盘上查找相似照片并允许用户保留或删除重复照片的应用程序。 使用Electron,TensorFlow,React,Tailwind CSS和其他令人兴奋的技术进行构建
嗜宇宙主义者关于令人兴奋的宇宙新闻的网络博客。 一个有趣的项目,从爱到太空,再到我们在星空旅行的未来,创造了一个有趣的项目。使用的技术:前端:Vue.js 3复合API,TypeScript,HTML5 / CSS3,SCSS,Gulp.js。...
CSS3 为 Web 开发带来了非常令人兴奋的变化,特别是 CSS 3D 转换、动画等特性的支持,可以轻松的创建很酷的Web 效果,需要的朋友可以参考下
它使网站在视觉上令人兴奋,并迫使其访客停留更长的时间并进一步互动。 当其他CSS框架不足时,我们提出了RocketCSS的想法。 我们想向网络展示使用RocketCSS时它多么容易和有用。 我们的宇航员团队会根据您的反馈...
主要介绍了css3背景,CSS3规范中对背景这一部分,新加入了一些令人兴奋的功能,如可以设置多个背景图片、可以指定背景大小、设置背景渐变等功能。
创意探索博物馆,斯巴达系统公司和Mozilla基金会已经联手打造了一款令人兴奋的新型教育游戏。 我们的团队由来自博物馆的青少年志愿者组成,他们将使用HTML,CSS和Javascript设计,编码和构建此应用。 我们的计划是...
在Flexbox,CSS网格和其他令人兴奋的布局功能时代,对膨胀CSS框架的需求越来越少。 我们需要做的是建立自己的样式的简单基础。 输入HiQ。安装通过使用npm安装软件包开始使用HiQ或使用Github存储库获取最新的开发...
使用在WebKit中可用的CSS高级特性,可以为你的网站或网络应用带来一个新的更令人兴奋的东西。 在阅读下面文章前,你可以先了解下软件开发网以前介绍的WebKit文章:浏览器Apple Safari和Google Chrome内核webkit ...
它提出了一些令人兴奋的新特性,我们可以使用它在浏览器中来创建Photoshop般的效果。更妙的是,已经在每晚构建的版本中添加了支持!“滤镜效果是一个图形化的操作,它被应用到一个元素上以绘制到页面文档里。它是一...
眼镜幻灯片不能很好地与Meteor配合使用,问题似乎出在CSS模块上。 我试图为CSS模块添加一个Meteor构建插件,但是没有用。 这可能是因为Spectacle与Webpack紧密相关吗? 老实说不知道。 所以我制作了一个单独的...
我们中的许多人已经厌倦了尝试使餐点保持美味和令人兴奋,他们想要各种选择,因此他们不必每天晚上都做饭,也不必来回去杂货店。 :hammer_and_wrench: 使用的技术CSS React.js Java脚本Node.js Express.js Passport...
这是一个非常令人兴奋的视频。 我们不仅要学习如何用纯JavaScript,HTML和CSS(不需要画布)来制作Flappy Bird,而且还要学习如何: 感谢Fleek,将其部署到网站上以便我们共享。 在Srushtika的频道的第2部分中使...
主要介绍了使用CSS实现水平垂直居中效果的方法的总结,涵盖了从最原始的高度设置到令人兴奋的CSS3的Flexbox方式,非常全面,十分推荐!需要的朋友可以参考下
卡盘,也就是幻灯片,它应该是自动播放,但目前css是无法做到自动播放(可能会让你失望),所以它不应该叫幻灯片,但我扔这么称呼...其实原理很简单,既然使用锚点,我们应该记得css3有个伪类:target(非IE内核浏览器都