Css新增内容

时间:2023-03-08 17:16:37

css3新增属性

可节省设计时间的属性

border-color:控制边框的颜色,并且有更大的灵活性,可以产生渐变效果
border-image:控制边框图像
border-radius:能产生类似圆角矩形的效果
text-shadow:文字投影
box-shadow:元素盒子投影
multiple backgrounds:多重背景图像,可以让一个元素有多个背景图像

例:

定义了三个背景图,下面分别对应背景图的位置
background-image:url(0.1png),url(0.2png),url(0.3png);
background-position:left top;-400px bottom;-800px top;
border-radius:20px;/*css3中的圆角矩形*/
-moz-border-radius:20px;/*Mozilla中的圆角矩形*/
-webkit-border-radius:20px;/*Safari中的圆角矩形*/
-webkit-box-shadow:3px 5px 10px #333;/*Safari中的盒子阴影*/

新增属性

一、颜色的表示方法:

 1、十六进制 000 fff ff0000 00ff00 0000ff
2、英文单词
3、rgba(red(0-255),green(0-255),blue(0-255),alpha(0-1)
颜色的值越大,则越亮,透明的值越大,越不透明
4、hsla(色调(0-360), 饱和度(0%-100%), 亮度(0%-100%), 透明度(0-1)) background: rgba(255, 0, 0, 0.4); 
background: hsla(200, 0%, 50%, 0);
opacity: 0;

二、transparent   控制透明度(这个可以实现三角形)

 rgba() 来控制透明度
transparent 不可调节透明度,始终完全透明
opacity:数字 背景跟字体都会生效
div {
width: 0;
/* border-top: red solid 5px;
border-left: transparent solid 5px;
border-bottom: transparent solid 5px;
border-right: transparent solid 5px; */
border: 16px solid red;
border-color: transparent red transparent transparent;
}

三、盒子模型box-sizing

  表示你设置的宽高从什么位置去设置
1、border-box:对象的实际宽度就等于设置的width值,即使定义有border和padding
2、content-border:对象的实际宽度等于设置的width值和border、padding之和

四、边框的属性

<1>边框圆角 border-radius:左上角 右上角 右下角 左下角

   border-radius:属性值1(左上角,右下角)
属性值2(右上角 左下角);
border-radius:属性值1(左上角) 属性值2(右上角,左下角) 属性3(右下角) 
/* border-radius: 10px 20px 30px 40px/40px 30px 20px 10px; */
/* border-radius:属性值1/属性值2  属性值1代表上下,属性值2代表左右*/
border-radius: 100px/80px 

半圆

 div {
width: 300px;
height: 150px;
background: red;
border-radius: 150px 150px 0 0;

<2>边框阴影

 box-shadow: 水平距离 垂直距离 模糊距离 阴影尺寸 颜色 inset(内阴影);           
box-shadow: -5px -5px 10px 3px #ccc, 5px 5px 10px 3px #ccc inset;

<3>边框图片

 div {
width: 200px;
height: 200px;
border: 20px solid;(可加可不加颜色) 
border-image-source: url(../images/border.png);(边框图片路径) 
      /* border-image-slice: value; 没有单位的数值*/(图片边框向内偏移)
border-image-slice: 27;
/* border-image-repeat 是否平铺取值:repeat 平铺不拉伸 round 平铺又拉伸  stretched 拉伸不平铺 */
border-image-repeat: round;

五、文本属性

1)文本阴影

   text-shadow : 2px(水平,可为负数) 3px(垂直,可为负数)  2px(模糊距离,不能为负数)  red;

2)文本描边

  -webkit-text-stroke:宽度 颜色;一定要加上-webkit-前缀

3)溢出省略

 text-overflow:ellipsis(省略号);
overflow:hidden;
white-space:nowrap;/*单行文本超出*/ text-overflow:ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;/*超出3行*/
overflow: hidden;/*多行文本超出*/

4)文本排版  dirction

 ltr(left to right 从左到右)
rtl(right  to left 从右到左),
一定要配合 unicode-bidi: bidi-override; */
direction: rtl;
unicode-bidi: bidi-override;

六、背景属性(默认情况下,背景颜色是从padding开始排放)

1)background-origin:属性

 规定background-position属性相对于什么位置来定定位。(对背景图才有用) background-origin:content-box(从内容开始)/padding-box(从padding开始)/border-box(从边框开始);

2)background-size:改变背景图片的大小

 属性值有:auto(图片原来的值,默认值)
number(200px)可能让图片变形
percentage:value% value%(根据盒子的宽高来定
cover(图片没有盒子大时,设置cover可使图片完全覆盖盒子,但是图片不能完全显示.一般配合background-position:center;去使用
contain(包含,可能会出现空白区域)

3)backgroun-clip设置背景显示在哪些区域取值:

border-box:显示content,padding、border区域。
padding-box:显示在padding、content区域content-box:显示在content区域

七、css3渐变(了解)

1)线性渐变(默认方向从上往下)

 background:linear-gradient(direction,color1,color2,...)
direction取值:
to left(从右往左)
to right(从左到右)
to top (从下往上)
to bottom(从上往下,默认值)
to left bottom (左下角)
to left top(左上角)
to right top(右上角)
to right bottom(右下角)
角度:
单位为deg
当为0deg,得到一个从下往上
90deg,得到一个从左往右
180deg,得到一个从上往下的渐变
-90deg,得到一个从右往左

2)径向渐变(一点向四周渐变)

 background:-webkit-radial-gradient(center,shape,size,startcolor,...lastcolor)
center 渐变起点的位置,可以是百分比(注意要设两个值)
shape 渐变形状 ellipse表示椭圆(默认),circle表示圆形
size 渐变的大小,即到哪里为止。closest-side 最近边
farthest-side 最远边  closest-corner  最近角  farthest-corner最远角

3)重复渐变

 background:repeating-linear-gradient(red,blue 20%,green 40%)
background:repeating-radial-gradient(red,blue 20%,green 40%)

八、自定义字体

引用

   @font-face{
font-family:"叶根";
src:url(字体的路径);

相应的元素

 div{
font-family:"叶根";

九、字体图标

引用

十、css过渡(重要)

transition:

 取值:transition-property:all ,height ,width(检索或设置对象中参与过渡)      
transition-duration:3s;快慢
 transition-delay:1s;

transition-timing-function:

 取值:ease;开始快,后面越来越慢。
 ease-in;开始慢,后面越来越快
ease-out;减速运动
ease-in-out;先加速后减速

总写:transition: property duration delay timing-function;

transition: all 3s linear;

1.text-shadow 文本阴影

text-shadow: 10px -10px 0px rgba(255,0,0,0.6);
第一个参数是水平偏移量,正值就往右,负值就往左
第二个参数是垂直偏移量,正值就往下,负值往上
第三个参数模糊程度,值越大,字越模糊,值为0 就是清晰
第四个参数,阴影颜色

2.text-overflow 超出文本显示省略号

  /*单行文本溢出,用省略号显示的语法*/
p{
overflow: hidden;/* 让超出边框的文本隐藏起来*/
text-overflow: ellipsis;/* 让超出边框边缘的的文本显示成...*/
white-space:nowrap;/*让多出边框的文本不换行,在同一行显示*/
}

3.颜色 rgba

用rgba的好处是当父元素设置透明的时候,子元素不会跟着一块变透明

   div{
background: #f00;
opacity: 0.6;/* 如果这样设置透明度的话,div里面的子元素文字也会跟着透明*/
filter: alpha(opacity = 60);
}

如果用rgba设置透明度的话,子元素就不会跟着透明了

  div{
background: rgba(255,0,0,0.6);
}

4.圆角效果

  border-radius: 5px; border-radius: 50%; 就变成圆了

5.box-shadow 边框阴影,和文本阴影类似

  box-shadow:3px 5px 10px #333;
第一个参数是水平偏移量,正值就往右,负值就往左
第二个参数是垂直偏移量,正值就往下,负值往上
第三个参数模糊程度,值越大,字越模糊,值为0 就是清晰
第四个参数 外延值,值越大,就越往外延伸
第五个参数,阴影颜色

6.background-origin背景原点

属性值有

  border-box
padding-box
content-box
表示背景是从border、padding、content处开始的

7.background-size背景大小

默认俩参数,可以设置宽和高
属性值为cover的话呢,就是背景扩大到覆盖整个元素为止,可能会超出范围
属性值为contain的话呢,就是扩大到有一边挨着元素了为止,可能会有一块没覆盖上

8.background-clip背景裁切

属性值为border -box表示从border处裁切,保留border以内的
属性值为content-box 表示从content处裁切,保留content以内的

css浏览器的兼容问题

解决兼容的原则

 1.尽量使用兼容的属性
2.使用CSS hack技术

使用CSS hack技术解决兼容问题:

 1.!important关键字
在同一个选择器中,定义了两条相冲突的规则,IE6不认!important,而Firefox/IE7+定义了以important的为准 2.在属性前添加“+”“——”号兼容不同浏览器
在属性前添加“+”(加号)可区别ie与其它浏览器,添加“——”(下划线)可区别IE6和IE7,IE7不支持“——” 3.使用子选择器和属性选择器等IE6不支持的选择器
html body{background-image:(bg.gif)}/*IE6有效*/
html>body{background-image:(bg.png)}/*Firefox/IE7有效*/
4.使用IE条件注释
条件注释是IE特有的功能,能够使用IE浏览器对XHTML代码进行单独处理
4-1.<!--[if IE]>
此内容只有IE可见,其他浏览器会忽视掉
<![endif]-->
4-2.<!--[if IE6.0]>
此内容只有IE6可见
<![endif]-->
4-3.<!--[if !IE6.0]>
除了IE6.0之外的都可见
<![endif]-->
4-4.<!--[if lte/lt IE6]>
此内容IE6及其以下版本可见/IE6以下版本可见
<![endif]-->
4-5.<!--[if gte/gt IE7]>
此内容IE7及其以上版本可见/IE7以上版本可见
<![endif]-->