利用 CSS3 构建一个气泡对话框

这是一篇CSS3教程 http://www.maiziedu.com/course/228/,主要讲述在不使用图片的情况下如何使用CSS3 创建图像效果。

使用渐进增强的开发方式,因此一开始的界面只要拥有基本样式即可。基本的评论区界面样式如下:

现在我们来逐步完善这个博客的评论区域。

word-wrap

当用户在评论区留下一长串的 URL 时,有可能会出现以下情况。

此时需要使用 word-wrap,使用 word-wrap 的原因是基于 Webkit 内核的浏览器以及 IE 在遇到”/“时并不会自动换行,且所有主流浏览器遇到“_”也不会自动换行,因此需要使用 word-wrpa 属性赋值为 break-word。这个属性允许文本在词内断开。


1

2


word-wrap: break-word;

border-radius

通过设置 border-radius 实现圆角效果。使用 CSS3 属性即可,减少对图片的依赖,加快用户访问速度。设置时需要注意浏览器的支持:


1

2

3

4


-moz-border-radius: 20px;

-webkit-border-radius: 20px;

border-radius: 20px;

利用边框创建图形效果

平常在使用边框的时候,我们往往只是对边框的宽度,颜色以及边框样式进行设置,但是边框还有一种使用方法。仔细观察下面图片:

可以看到个方向的边框在交界处会呈现一个特殊的交界线,因此实现以下代码会出现如下效果:


div {

border-color: red green blue orange;

border-style: solid;

border-width: 20px;

width: 0;

height: 0;

}

在此基础上通过调整各边框的颜色以及宽度即可生成一个小三角形图标。

::before 和 ::after

某些情况下我们希望通过 CSS 生成一些不重要但能美化界面的内容,此时就可以使用伪元素 ::before 和 ::after 指定内容的插入位置。比如我们希望给页面上的每个图片标题都增加“(图)”这个前缀,此时你可以使用以下的 CSS:


1

2

3

4


.caption::before {

content:“(图)”

}

结合上面提到的边框创建图形效果,CSS 代码如下:


1

2

3

4

5

6

7

8

9

10

11

12

13


blockquote::after {

content: "\00a0";

display: block;

position: absolute;

top: 20px;

left: -20px;

width: 0;

height: 0;

border-width: 10px 20px 10px 0;

border-style: solid;

border-color: transparent #A6DADC transparent transparent;

}

目前我们的博客评论区界面如下:

利用 RGBA 或者 HSLA 实现半透明背景

在 CSS3 中,我们可以使用下面两种方法设置颜色。

RGBA,即“红色、绿色、蓝色和 Alpha 透明度”

前三个参数的取值为 0 ~ 255 或者 0% ~ 100%

最后一个参数取值为 0 ~ 1

HSLA,即“色调、饱和度、亮度和 Alpha 透明度”

第一个参数的取值为 0 ~ 360

第二和第三个参数的取值为 0% ~ 100%

最后一个参数取值为 0 ~ 1

以上两种方法都可以设置背景的透明度,但是需要注意的是,opacity 属性的作用是使得整个元素的透明度发生变化,而不仅仅是背景。

使用背景透明的效果:


1

2


background-color: hsla(182,44%,76%,.5);

使用 opacity 透明的效果:

box-shadow

无需使用图片,秩序通过设置界面的阴影效果,可以增强界面的立体感。增加以下 CSS 代码:


1

2

3

4


-moz-box-shadow: 1px 1px 2px hsla(0,0%,0%,.3);

-webkit-box-shadow: 1px 1px 2px hsla(0,0%,0%,.3);

box-shadow: 1px 1px 2px hsla(0,0%,0%,.3);

box-shadow 参数含义:

第一个值表示相对于盒容器的水平偏移

第二个值表示垂直偏移

第三个值表示模糊半径,指定有多少像素的阴影被拉伸

第四个值是阴影的颜色

配合伪类 :hover 增强立体感

增加下面的 CSS 代码:


1

2

3

4

5

6

7

8


blockquote:hover {

top: -2px;

left: -2px;

-moz-box-shadow: 3px 3px 2px hsla(0,0%,0%,.3);

-webkit-box-shadow: 3px 3px 2px hsla(0,0%,0%,.3);

box-shadow: 3px 3px 2px hsla(0,0%,0%,.3);

}

当鼠标在文本框上方悬停时,通过改变阴影偏移量营造一种动态的感觉,增强立体感。

同样的,也可以通过 text-shadow 给文字添加阴影效果。但这些阴影效果不应该滥用,否则只会起到反面效果。

transform

transform 属性是 3D 变形模块的一部分,常见的 transform 属性有以下几个:

translate,移动位置

scale,缩放元素

rotate,旋转元素

skew,倾斜元素

我们来给用户头像进行旋转:


1

2

3

4

5

6


.comment-meta img {

-moz-transform: rotate(-5deg);

-webkit-transform: rotate(-5deg);

transform: rotate(-5deg);

}

原文来自:技术学习小组

时间: 2024-12-17 16:00:20

利用 CSS3 构建一个气泡对话框的相关文章

如何利用CSS3编写一个满屏的布局

如何利用CSS3编写一个满屏的布局 css3的出现能帮助我们更加轻松的实现各种想要的效果,例如写一个刚好满屏的布局,我们就可以利用CSS3的弹性盒模型来实现. 先来贴出html布局代码: 1 <%- include header %> 2 <div class="wrapper"> 3 <div id="appswall"> 4 <div class="adsapp-title"><butto

利用Dockerfile构建一个基于CentOS 7镜像

利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTAINER Victor [email protected]WORKDIR /rootRUN rm -f /etc/yum.repos.d/*RUN  echo '[BASE]' > /etc/yum.repos.d/base.repoRUN  echo 'name=base' >> /etc

利用maven构建一个spring mvc的helloworld实例

刚开始学习maven和spring mvc,学的云里雾里的 这里提供一个hello world实例,记录自己的学习之路 首先看maven官网的介绍 Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and do

利用Dockerfile构建一个基于centos 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像

Dockerfile内容如下: FROM centos MAINTAINER Victor [email protected] WORKDIR /root RUN rm -f /etc/yum.repos.d/* RUN echo '[BASE]' > /etc/yum.repos.d/base.repo RUN echo 'name=base' >> /etc/yum.repos.d/base.repo RUN echo 'baseurl=http://192.168.244.132/

自动生成气泡对话框的函数CreateBubble.js

之前在写一个界面,想要用到气泡,然而一直找不到现成的有效地办法,是在没有办法了我只好自己写一个,于是就有了现在的CreateBubble.js.很简单的一个函数,但是非常实用. 使用方法: 1.HTML代码: 一个气泡对话框就是一个div,div内嵌另一个div,很简单的结构. 1 <div class="tag"> 2 css3气泡框 3 <div class="tail"></div> 4 </div> 其中div

使用CSS3实现一个3D相册

CSS3系列我已经写过两篇文章,感兴趣的同学可以先看一下CSS3初体验之奇技淫巧,CSS3 3D立方体效果-transform也不过如此 第一篇主要列出了一些常用或经典的CSS3技巧和方法:第二篇是一个用CSS3实现的立方体实例,详细讲解了3D旋转和transform等属性. 本文再来利用CSS3属性来编写一个实例,话不多说,先直接看看效果.3D相册实例DEMO 因为前面已经讲解过一些属性的用法,此篇文章不再赘述,只记录这个实例的编码过程.项目代码已上传至github,项目代码github地址

如何利用CSS3实现完备的幻灯片(1)

概述:我所谓完备的幻灯片,乃指满足下列条件的页面效果: 1.包含左右箭头: 2.左右箭头能无限点击,产生无限循环切换的效果: 2.图片具有滑动效果: 3.包含与图片一一对应,用以切换的选项块: 4.选项块拥有两个状态,其一为普通,其二为「当前」,后者反映其自身与当前显示区的图片具有对应关系,该对应关系必须随时有效: 5.图片自动播放,并无限循环: 6.鼠标进入图片时,图片暂停播放: 7.鼠标离开图片时,图片按当前顺序继续播放,无限循环. 如上,它完备,未必完美. 本着循序渐进的原则,我先从利用c

[Gradle] 在 Eclipse 下利用 gradle 构建系统

转载自:http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/ 构建系统时候常常要用到 Ant, Maven 等工具,对于初学者来说,它们还是过于复杂,上手还是需要时间的.本文将向读者介绍一种全新的构建项目的方式 gradle,它简单.上手快,能大大节省项目的时间和成本. 在 eclipse 下利用 gradle 构建系统 基本开发环境 操作系统:本教程使用的为 Windows Vista Enterprise, 如果您的系统是

通过python 构建一个简单的聊天服务器

构建一个 Python 聊天服务器 一个简单的聊天服务器 现在您已经了解了 Python 中基本的网络 API:接下来可以在一个简单的应用程序中应用这些知识了.在本节中,将构建一个简单的聊天服务器.使用 Telnet,客户机可以连接到 Python 聊天服务器上,并在全球范围内相互进行通信.提交到聊天服务器的消息可以由其他人进行查看(以及一些管理信息,例如客户机加入或离开聊天服务器).这个模型如图 1 所示. 图 1. 聊天服务器使用 select 方法来支持任意多个客户机 聊天服务器的一个重要