CSS3新增属性详解
1.圆角
在 CSS2 中添加圆角棘手。我们不得不在每个角落使用不同的图像。
在 CSS3 中,很容易创建圆角。
在 CSS3 中 border-radius 属性被用于创建圆角:
如果你在 border-radius 属性中只指定一个值,那么将生成 4 个 圆角。
但是,如果你要在四个角上一一指定,可以使用以下规则:
四个值: 第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角。
三个值: 第一个值为左上角, 第二个值为右上角和左下角,第三个值为右下角
两个值: 第一个值为左上角与右下角,第二个值为右上角与左下角
一个值: 四个圆角值相同
属性 | 描述 |
---|---|
border-radius | 所有四个边角 border---radius 属性的缩写 |
border-top-left-radius | 定义了左上角的弧度 |
border-top-right-radius | 定义了右上角的弧度 |
border-bottom-right-radius | 定义了右下角的弧度 |
border-bottom-left-radius | 定义了左下角的弧度 |
div{border:2px solid;border-radius:25px;
}
2.盒阴影
CSS3 中的 box-shadow 属性被用来添加阴影。
语法:box-shadow: h-shadow v-shadow blur spread color inset;
值 | 说明 |
---|---|
h-shadow | 必需的。水平阴影的位置。允许负值 |
v-shadow | 必需的。垂直阴影的位置。允许负值 |
blur | 可选。模糊距离 |
spread | 可选。阴影的大小 |
color | 可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表 |
inset | 可选。从外层的阴影(开始时)改变阴影内侧阴影 |
div{box-shadow: 10px 10px 5px #888888;
}
3.背景
background-image
CSS3中可以通过background-image属性添加背景图片。
不同的背景图像和图像用逗号隔开,所有的图片中显示在最顶端的为第一张。
#example1 { background-image: url(img_flwr.gif), url(paper.gif); background-position: right bottom, left top; background-repeat: no-repeat, repeat;
}
可以给不同的图片设置多个不同的属性
#example1 {background: url(img_flwr.gif) right bottom no-repeat, url(paper.gif) left top repeat;
}
background-size
background-size指定背景图像的大小。CSS3以前,背景图像大小由图像的实际大小决定。
CSS3中可以指定背景图片,让我们重新在不同的环境中指定背景图片的大小。您可以指定像素或百分比大小。
你指定的大小是相对于父元素的宽度和高度的百分比的大小。
/* 重置背景图像: */
div{background:url(img_flwr.gif);background-size:80px 60px;background-repeat:no-repeat;
}
/* 伸展背景图像完全填充内容区域:*/
div{background:url(img_flwr.gif);background-size:100% 100%;background-repeat:no-repeat;
}
background-origin
background-origin 属性指定了背景图像的位置区域。
content-box, padding-box,和 border-box区域内可以放置背景图像。
/* 在 content-box 中定位背景图片: */
div{background:url(img_flwr.gif);background-repeat:no-repeat;background-size:100% 100%;background-origin:content-box;
}
background-clip
background-clip属性指定背景绘制区域。
值 | 说明 |
---|---|
border-box | 默认值。背景绘制在边框方框内(剪切成边框方框)。 |
padding-box | 背景绘制在衬距方框内(剪切成衬距方框)。 |
content-box | 背景绘制在内容方框内(剪切成内容方框)。 |
示例:
<style>
#example1 {border: 10px dotted black;padding:35px;background: yellow;
}
#example2 {border: 10px dotted black;padding:35px;background: yellow;background-clip: padding-box;
}
#example3 {border: 10px dotted black;padding:35px;background: yellow;background-clip: content-box;
}
</style>
<p>没有背景剪裁 (border-box没有定义):</p>
<div id="example1">
<h2>Lorem Ipsum Dolor</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
</div>
<p>background-clip: padding-box:</p>
<div id="example2">
<h2>Lorem Ipsum Dolor</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
</div>
<p>background-clip: content-box:</p>
<div id="example3">
<h2>Lorem Ipsum Dolor</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
</div>
效果如下:
4.渐变
CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。
CSS3 定义了两种类型的渐变(gradients):
线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向
径向渐变(Radial Gradients)- 由它们的中心定义
线性渐变语法
background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
direction值(部分) | 描述 |
---|---|
to bottom | 从上到下的线性渐变 |
to right | 从左到右的线性渐变 |
to bottom right | 从左上角到右下角的线性渐变 |
径向渐变语法
/* shape属性有circle圆形和ellipse椭圆(默认)两种 */
background-image: radial-gradient(shape size at position, start-color, ..., last-color);
/* 颜色节点均匀分布的径向渐变: */
#grad {background-image: radial-gradient(red, yellow, green);
}
/* 颜色节点不均匀分布的径向渐变: */
#grad {background-image: radial-gradient(red 5%, yellow 15%, green 60%);
}
5.文本效果
属性 | 描述 | 常用属性 |
---|---|---|
text-overflow | 规定当文本溢出包含元素时发生的事情 | clip(修剪)、ellipsis(省略号) |
text-shadow | 向文本添加阴影 | |
word-break | 规定非中日韩文本的换行规则 | break-all(单词间换行)、keep-all(半角空格换行) |
word-wrap | 允许对长的不可分割的单词进行分割并换行到下一行 | break-word(长单词内部换行) |
6.过渡
CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。
要实现这一点,必须规定两项内容:
指定要添加效果的CSS属性
指定效果的持续时间。
应用于宽度属性的过渡效果,时长为 2 秒:
div
{width:100px;height:100px;background:red;transition:width 2s;-webkit-transition:width 2s; /* Safari */
}
注意: 如果未指定的期限,transition将没有任何效果,因为默认值是0。
指定的CSS属性的值更改时效果会发生变化。一个典型CSS属性的变化是用户鼠标放在一个元素上时:
/* 规定当鼠标指针悬浮(:hover)于 <div>元素上时: */
div:hover
{width:300px;
}
div本身宽度是100px,当鼠标悬浮时,宽度变为300px,该属性2s内改变。
效果如下:
要添加多个样式的变换效果,添加的属性由逗号分隔:
/* 添加了宽度,高度和转换效果: */
div{transition: width 2s, height 2s, transform 2s;-webkit-transition: width 2s, height 2s, -webkit-transform 2s;
}
7.多列
属性 | 描述 |
---|---|
column-count | 指定元素应该被分割的列数。 |
column-fill | 指定如何填充列 |
column-gap | 指定列与列之间的间隙 |
column-rule | 所有 column-rule-* 属性的简写 |
column-rule-color | 指定两列间边框的颜色 |
column-rule-style | 指定两列间边框的样式 |
column-rule-width | 指定两列间边框的厚度 |
column-span | 指定元素要跨越多少列 |
column-width | 指定列的宽度 |
columns | column-width 与 column-count 的简写属性。 |
下面是代码演示:
<style>
.newspaper
{column-count:3;column-gap: 30px;column-rule-style: solid;column-rule-width: 3px;column-rule-color: lightblue;
}
h2
{column-span:all;
}
</style>
</head>
<body>
<p><b>注意:</b> Internet Explorer 9及更早 IE 版本浏览器不支持 column-count 属性。</p>
<div class="newspaper">
<h2>英国维斯米斯特教堂碑文</h2>
当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个世界。
</div>
最终效果如下:
8.框大小
CSS3 box-sizing
属性可以设置 width 和 height 属性中包含了 padding(内边距) 和 border(边框)。
默认情况下,元素的宽度与高度计算方式如下:
width(宽) + padding(内边距) + border(边框) = 元素实际宽度
height(高) + padding(内边距) + border(边框) = 元素实际高度
这就意味着我们在设置元素的 width/height 时,元素真实展示的高度与宽度会更大(因为元素的边框与内边距也会计算在 width/height 中)。
以上两个 <div> 元素虽然宽度与高度设置一样,但真实展示的大小不一致,因为 div2 指定了内边距:
.div1 {width: 300px;height: 100px;border: 1px solid blue;
}
.div2 {width: 300px;height: 100px;padding: 50px;border: 1px solid red;
}
CSS3 box-sizing
属性在一个元素的 width 和 height 中包含 padding(内边距) 和 border(边框)。
如果在元素上设置了 box-sizing: border-box;
则 padding(内边距) 和 border(边框) 也包含在 width 和 height 中:
.div1 {width: 300px;height: 100px;border: 1px solid blue;box-sizing: border-box;
}
.div2 {width: 300px;height: 100px;padding: 50px;border: 1px solid red;box-sizing: border-box;
}
效果如下:
从结果上看 box-sizing: border-box;
效果更好,也正是很多开发人员需要的效果。所有元素使用 box-sizing 是比较推荐的:
* {box-sizing: border-box;
}
CSS3新增属性详解相关推荐
- HTML+CSS教程(十)css3(3D属性详解及动画)
一.3D 转换 1.左手坐标系 :伸出左手,让拇指和食指成"L"形,大拇指向右,食指向上,中指指向前方.这样我们就建立了一个左手坐标系,拇指,食指和中指分别代表X.Y.Z 轴的正方 ...
- html transform属性,css3 transform属性详解
CSS3变形是一些效果的集合,比如平移translate() .旋转rotate().缩放scare()和倾斜skew()效果,每个效果都被称作为变形函数(Transform Function),它们 ...
- 【青山css】css3阴影效果属性详解及创意玩法
前言 css阴影效果是我们经常使用的一个css属性,但你有仔细了解过它吗?是不是用的时候直接从蓝湖上复制过来就行了,那你了解它的每个参数吗?用阴影又能实现哪些好看的效果呢?来看一看我收集总结的css阴 ...
- CSS3 transform 属性详解
news多报点 2016-11-18 22:47 写这篇文章是因为在一个前端QQ群里,网友 "小豆豆" (应他要求要出现他的网名......) ,问skew的角度怎么算,因为他看了 ...
- border-sizing属性详解和应用
box-sizing 用于更改用于计算元素宽度和高度的默认的 CSS 盒子模型.它有 content-box . border-box 和 inherit 三种取值. inherit 指的是从父元素继 ...
- CSS3各个模块详解
一, CSS3 盒子 阴影 属性 box- shadow 也是 CSS3 新增 的 一个 重要 属性, 用来 定义 元素 的 盒子 阴影. inset: 阴影 类型, 可选 值. 如果不 设置, 其 ...
- html5 规定输入字段,HTML5 Input属性详解
本篇教程探讨了HTML5 Input属性详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < value 属性 value 属性规定输入字段的初始值: rea ...
- php开源混合模式吗,CSS3混合模式使用详解
这次给大家带来CSS3混合模式使用详解,使用CSS3混合模式的注意事项有哪些,下面就是实战案例,一起来看一下. 一.关于混合模式 熟悉PS的人都应该知道混合模式: SVG以及Canvas中也有混合模式 ...
- CSS3动画特效详解
大家都知道网页的3大组成部分,分别是结构,表现和行为.就像我们要盖一座房子,要地基要打的扎实,房子的架构要稳固,而我们网页当中的地基和架构就是Html,当我们盖好了房子,最终的美观度还是看我们的装修风 ...
最新文章
- 图灵YYDS!60年前不被看好的理论再次被证,这次是原子层面的
- 在web项目中集成xfire的方法
- 2010年 我的齐鲁软件大赛作品
- 课堂作业(求几个数的最大值)
- php转义还原,PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例_PHP
- 用Java写一个小游戏
- 新 Nsight Graph、Nsight Aftermath 版本中的性能提升和增强功能
- python爬取酷狗音乐源码_python爬虫教程:爬取酷狗音乐
- “落子无悔,抉择本身就是向前”——2022年度总结
- python 聚类 客户细分_Python中用K-均值聚类来探索顾客细分
- RSAT(Regulatory Sequence Analysis Tools)详解
- excel数据处理_有没有可以完全替代并超越excel的表格和数据处理软件?
- 支持查看朋友圈的微信Mac版客户端
- 【面试流水账】一年半经验前端年底求职路
- x200换屏_小黑本“清凉一夏” — Thinkpad X200 拆解清理
- java 刻度尺,jQuery实现腾讯信用界面(自制刻度尺)样式
- 2020CCFBDCI训练赛之通用音频分类baseline
- java基于Springboot+vue的校园新闻网站 element
- 骨素Paratie Plus 2017 1CD+NERSim v1.09a 1CD集善据
- 【双机调试】WinDbg+Win7虚拟机双机调试详细步骤