CSS自学笔记(16):CSS3 用户界面
CSS3中,也新增了一些关于用户界面的属性,这些属性可以重设元素或者盒子的尺寸、轮廓等等。
新增的部分属性的浏览器支持情况
| 属性 | 浏览器支持 | ||||
|---|---|---|---|---|---|
| resize | Firefox | Chrome | Safari | ||
| box-sizing | IE | Firefox(-moz-) | Chrome | Safari | Opera |
| outline-offset | Firefox | Chrome | Safari | Opera | |
注:
- 目前的主流浏览器对新增的属性的支持效果不是很理想,定义这些属性时要特别注意。
新增的属性以及描述:
| 属性 | 描述 |
|---|---|
| appearance | 改变元素的外观等 |
| box-sizing | 允许某一种方式定义适应某个区域的具体内容。 |
| icon | 为创作者提供使用图标化等价物来设置元素样式的能力(目前浏览器都不支持) |
| nav-down | 在使用 arrow-down 导航键时向何处导航。 |
| nav-index | 定义元素的 tab 键控制次序。 |
| nav-left | 在使用 arrow-left 导航键时向何处导航。 |
| nav-right | 在使用 arrow-right 导航键时向何处导航。 |
| nav-up | 在使用 arrow-up 导航键时向何处导航。 |
| outline-offset | 对轮廓进行偏移,并在超出边框边缘的位置绘制轮廓。 |
| resize | 是否可由用户对元素的尺寸进行调整。 |
定义resize属性后,元素的元素的大小就可以有用户进行调整,格式为:
resize: none|both|horizontal|vertical;
注:none是用户无法调整元素的大小,both是用户可以调整元素的高宽,horizontal是用户可以调整元素的宽度,vertical是用户可以调整元素的高度。
用户可以自己调整大小
box-sizing属性主要是为了解决在IE6以前版本的浏览器对盒子的高宽解析包括border和padding,而其他浏览器解析盒子的高宽时不包括border和padding的问题。
定义box-sizing格式:
box-sizing: content-box|border-box|inherit;
box-sizing各个属性值的意义:
| 值 | 描述 | 事例 |
|---|---|---|
| content-box | 标准盒子属性,元素的宽度=width + border + padding,即padding和border不被包含在定义的width和height之内。 | *{ box-sizing:border-box; width:200px; padding:10px; border:15px solid #eee; }![]() |
| border-box | 怪异盒子属性,元素的宽度=width,即padding和border被包含在定义的width和height之内。 | *{ box-sizing:border-box; width:200px; padding:10px; border:15px solid #eee; }![]() |
| inherit | 从父元素继承 box-sizing 属性的值。 |
border-box属性值的效果:
而同样的CSS样式代码,将box-sizing的属性定义为content-box的效果:
outline-offset是设置或检索对象外的线条轮廓偏移容器的值,格式为:
outline-offset: <length>|inherit;
<length>: 用长度值来定义轮廓偏移,且允许负值 。
inherit:从父元素继承 outline-offset 属性的值。
*{width:220px;padding:10px;outline:1px dashed #333;outline-offset:4px;border:3px solid #333;}

CSS自学笔记(16):CSS3 用户界面的更多相关文章
- CSS自学笔记(10):CSS3盒子模型
CSS3为CSS技术的升级版本.最新版本. 就CSS而言,它是一个模块,是一个庞大而又复杂的模块,但是在CSS3中,将这一个庞大的模块分解为一个个容易理解的同时又很精简的小模块,同时CSS3中又添加了 ...
- CSS学习笔记之CSS3新特性
目录 1.边框 2.背景 3.文本 4.字体 5.转换 6.过渡 7.动画 8.多列 9.自定义尺寸 CSS 用于控制网页的样式和布局,而 CSS3 是最新的 CSS 标准,这篇文章将着重介绍 CSS ...
- CSS自学笔记(13):CSS3 2D/3D转换
CSS3中新增了对元素进行2D和3D的转换效果,这样可以是开发人员很方便的做出视觉效果更好的网页来. 通过CSS3中属性的定义,我们可以对元素进行移动.缩放.拉伸.旋转等等,可以通过定义transfo ...
- CSS自学笔记(15):CSS3多列布局
在CSS3中,也新增了一些关于文本布局的几个比较简单的属性.通过这些新增的属性,我们可以对文本进行简单的排版,就想报纸和杂志那样. 新增的部分属性,以及浏览器支持情况: 属性 浏览器支持 column ...
- CSS自学笔记(14):CSS3动画效果
在CSS3中也新增了一些能够对元素创建动画处理的属性.通过这些新增的属性,我们可以实现元素从一种样式变换成另一种样式时为元素添加动态效果,我们就可以取代网页中的动态图片.flash动画和JavaScr ...
- CSS自学笔记(12):CSS3文字特效
在CSS3中新增了多个文本属性,同样有了这些属性我们在进行问题特效处理时,就尽可能少的用到其他软件去制作特效文字了. 在以前使用CSS进行web开发的时候,必须使用计算机上安装好的字体,如果有些用户的 ...
- CSS自学笔记(11):CSS3背景和边框
CSS3 背景 在CSS3中新增了多个关于背景的属性,可以让我们对背景有了更多更好的操作,减少用第三方工具对背景图片进行修改美化. CSS3中主要是通过定义backgrounp中的各个属性来控制背景( ...
- CSS自学笔记(9):CSS拓展(二)
CSS图片 当一个网页上有一张或多张图片,而且这些图片的尺寸比较大时,为了是网页布局更紧凑合理,我们可以将这些图片放到一个图片库里,可以有效的防止图片过大可能会对网页布局造成的不良影响. 通过CSS我 ...
- CSS自学笔记(3):CSS选择器
CSS中提供了非常丰富的选择器,但是由于浏览器的支持情况,很多选择器很少用到. 1.基础选择器 选择器 含义 示例 * 通用元素选择器,匹配任何元素 * { margin:0; padding:0; ...
随机推荐
- CDZSC_2015寒假新人(1)——基础 e
Description Julius Caesar lived in a time of danger and intrigue. The hardest situation Caesar ever ...
- c++网络通信(与服务器通信聊天)和c#网络通信
c++网络通信(有待整理) 链接:http://pan.baidu.com/s/1i3nMLKT 密码:ksi8 c#网络通信(tcp/udp两部分) TCP发送端: using System; us ...
- linux网络编程:使用单进程实现多客户端通信
服务端: //回射服务器 //避免僵尸进程 #include "unistd.h" #include "sys/types.h" #include " ...
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习
public int read(byte[] b, int off, int len) throws IOException 将输入流中最多 len 个数据字节读入字节数组.尝试读取多达 len 字节 ...
- PHP封装Excel表方法使用流程
今天总结了一下Excel表的封装和导出使用,原理 经常使用与一些日常报表, 数据报表, 实现方法比较简单, 一次封装, 简单的方法调用,简单~ 废话不多说,直接入正题, 先说下重要的参数要记住的东西 ...
- psycopg2关于undefined symbol: lo_truncate64解决方法
今天,在centos6.5下安装psycopg2,利用Python连接PostgreSQL数据库的时候,出现了一个undefined symbol: lo_truncate6的错误: django.c ...
- Javascript自定义类
JavaScript并不是严格的面向对象的语言,但是带有面向对象的一些特性,我们可以通过这些特性创建js中的自定义类. JavaScript中的类其实是function关键字包裹的一系列变量和方法. ...
- nginx---Beginner's Guide
一 启动 nginx -s signal Where signal may be one of the following: stop — fast shutdown quit — graceful ...
- MS SQL 小总结
1.获取当前数据库下所有的表名称: Use 你的数据库 select Name from sysobjects where xtype='U' 2.获取当前表下的列名: select name fro ...
- 如何测试私有 Private/Internal 方法
在实际开发中,经常会遇到这样的情况. 一个共有的 Public 方法实现某一主要功能,但是由于该功能的实现非常复杂,需要很多的辅助类,辅助方法.由于代码封装性的需求,我们通常需要把这些辅助的类方法定义 ...

