CSS3 之属性

文章目录

      • calc
      • border
      • box-shadow
      • background-image
        • 垂直渐变
        • 水平渐变
        • 左上角渐变
        • 渐变方向写法组合
      • background-clip
      • background-attachment
      • word-wrap:break-word:允许长单词换行到下一行;
      • word-wrap:
      • word-break:
      • text-shadow
      • 3、字体
      • white-space 设置如何处理元素内的空白。
      • text-align-last 规定如何对齐文本的最后一行。
      • letter-spacing:normal|
      • text-indent

calc

条件

1. Position:absolute;

2.  减号两边要有空格

水平居中:left:calc(50%-50px)
垂直居中:top:calc(50%-50px)

div{
width:100px;
height:100px;
border:1pxsolidgray;
position:absolute;
left:calc(50%-50px);
top:calc(50%-50px); 
border-radius:10px20px30px40px;                                                
}

border

  1. border-radius:10px20px30px40px;

与下面代码相等

2.border-radius:10px20px30px;—>右上与左下相等

3.border-radius:10px20px;—>对角相等

4、圆的最大值可以使一个正方形变成一个扇形

eg:border-top-left-radius:100px100px;  // 圆的半径等于正方形的边长

box-shadow

外阴景

  • box-shadow:0px0px0px0px#off;

x轴移动的距离、轴移动的距离、模糊值阴影扩大距离、阴影颜色

内阴影

  • box-shadow:inset0px0px0px0px#off;

设置spread值,阴影是以边界外扩展,没有设置就是边界两边扩展


div {
            position: absolute;
            border-radius: 5px;
            left: calc(50% - 50px);
            top: calc(50% - 50px);
            width: 100px;
            height: 100px;
            background-color: #fff;
            box-shadow: 0px 1px 2px rgba(0, 0, 0, .1);
            transition: all.6s;
        }

        div::after {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            border-radius: 5px;
            box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
            opacity: 0;
            transition: all.6s;
        }

        div:hover {
            transform: scale(1.25, 1.25);
            /*使变大*/
        }

        div:hover::after {
            opacity: 1;
        }

CSS3 之属性_第1张图片

background-image

使用绝对或相对地址指或者创建渐变色来确定图像。

垂直渐变

background:linear-gradient(red,yellow);

红黄条纹效果。
CSS3 之属性_第2张图片

水平渐变

{background-image:linear-gradient(left,red100px,yellow200px);}

效果如下图:

在这里插入图片描述

左上角渐变

那从(100px,100px)到(200px,200px)应该就是从左上角开始,写法如下:

{background-image:linear-gradient(lefttop,red100px,yellow200px);}

效果如下

CSS3 之属性_第3张图片

渐变方向写法组合

  • left,right,top,bottom,lefttop,leftbottom,righttop,right,bottom

  • 分别表示,从左往右,从右往左,从上往下,从下往上,从左上往右下,从……(都懂的,不全写了)

当然,也可以用angle角度来写!

{background-image:linear-gradient(-45deg,red100px,yellow200px);}

具体的样式大家可以尝试着写一下,看一下!很多情况下,用了才知道!

注意:有不少效果加了-webkit前缀以及-moz前缀会展现的不一样!

例如:

background-image:-webkit-linear-gradient(-45deg,red,yellow)

background-image:linear-gradient(-45deg,red,yellow)

在Chrome浏览器下的渐变方向居然是相反的!但是45deg是正常的。Firefox浏览器下也是如此,有前缀和没有前缀方向相反!咋回事?

原因很简单,CSS3目前还是草案阶段!

从浏览器去掉前缀前后的变化可以推测,之前,W3C的渐变坐标是与photoshop中一致的,但是,后来,由于某些原因,修改了。

至于什么原因,根据我草草的查找,可能与下面几个关键字之一有联系:animation/transition动画、write-mode书写方向、flexbox模型、以及radial-gradient渐变等。在这里就不深入研究了!

  • 基本的写法如下:
background-image:linear-gradient(top,#fff,#dededc);
//但是为了兼容,有时候要写多个前缀,变成如下:
background-image:-ms-linear-gradient(top,#fff,#dededc);
background-image:-moz-linear-gradient(top,#fff,#dededc);
background-image:-webkit-gradient(linear,lefttop,leftbottom,from(#fff),to(#dededc));
background-image:-webkit-linear-gradient(top,#fff,#dededc);
background-image:-o-linear-gradient(top,#fff,#dededc);
background-image:linear-gradient(top,#fff,#dededc);

background-clip

指定对象的背景图像向外裁剪的区域。

  • border-box:从border区域(含border)开始向外裁剪背景。
  • padding-box:从padding区域(含padding)开始向外裁剪背景。
  • content-box:从content区域开始向外裁剪背景。
  • text:从前景内容的形状(比如文字)作为裁剪区域向外裁剪,如此即可实现使用背景作为填充色之类的遮罩效果

background-attachment

  • fixed:背景图像相对于视口(viewport)固定。

  • scroll:背景图像相对于元素固定,也就是说当元素内容滚动时背景图像不会跟着滚动,因为背景图像总是要跟着元素本身。但会随元素的祖先元素或窗体一起滚动。

  • local:背景图像相对于元素内容固定,也就是说当元素随元素滚动时背景图像也会跟着滚动,因为背景图像总是要跟着内容。

word-wrap:break-word:允许长单词换行到下一行;

word-wrap:

在这里插入图片描述

word-break:

在这里插入图片描述

区别就是长单词在word-wrap作用下换到下一行,后面可以正常换行,word-break的作用下利用了上一行没有用完的空间。

text-shadow

  • 浮雕效果:text-shadow:1px1px#000,-1px-1px#fff;
  • 镂刻效果:text-shadow:-1px-1px#fff,1px1px#000;

2、text-shadow:0px0px10px#f00,

0px 0px 20px #f10,
0px 0px 30px #f20,
0px -5px 20px #f10,
0px -10px 20px #f20,
0px -15px 30px #f10,
0px -20px 40px #f20;

3、字体

下载外部的字体包

  • @font-face{font-family:‘abc’;src:rul();}

二个属性:
font-family:'abc'-->字体名称
src:url();--->引用地址

调用:div{font-family:'abc';}

  • 你需要同时提供4种格式的字体
@font-face{
font-family:'diyfont';
src:url('diyfont.eot');/*IE9+*/
src:url('diyfont.eot?#iefix')format('embedded-opentype'),/*IE6-IE8*/
url('diyfont.woff')format('woff'),/*chrome、firefox*/
url('diyfont.ttf')format('truetype'),/*chrome、firefox、opera、Safari,Android,iOS4.2+*/
url('diyfont.svg#fontname')format('svg');/*iOS4.1-*/
}

white-space 设置如何处理元素内的空白。

  • white-space:normal|pre|nowrap|pre-wrap|pre-line

normal:默认处理方式。会将序列的空格合并为一个,内部是否换行由换行规则决定。
prez原封不动的保留你输入时的状态,空格、换行都会保留,并且当文字超出边界时不换行。等同pre元素效果
nowrap:与normal值一致,不同的是会强制所有文本在同一行内显示。
pre-wrap:与pre值一致,不同的是文字超出边界时将自动换行。
pre-line:与normal值一致,但是会保留文本输入时的换行。

text-align-last 规定如何对齐文本的最后一行。

auto:无特殊对齐方式。
left:内容左对齐。
center:内容居中对齐。
right:内容右对齐。
justify:内容两端对齐。
start:内容对齐开始边界。
end:内容对齐结束边界。

定义块内文本内容的最后一行(包括块内仅有一行文本的情况,这时既是第一行也是最后一行)或者被强制打断的行的对齐方式

letter-spacing:normal|

指定字符之间的额外间隙。

text-indent

用长度值指定文本的缩进。可以为负值。

定义块内文本内容的缩进。
行内元素要使用该属性必须先定义该元素为块级或行内块级。
hanging和each-line关键字紧随在缩进数值之后

你可能感兴趣的:(CSS3,css3,css,前端)