css基础(css3特性、网格)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lemisi/article/details/79488005

CSS基础:

CSS3特性:

1.      选择器:

tbody: nth-child(even), nth-child(odd)此处他们分别代表了表格(tbody)下面的偶数行和奇数行(tr),这种样式非常适用于表格,让人能非常清楚的看到表格的行与行之间的差别,让用户易于浏览。

: not(.textinput)这里即表示所有class不是“textinput”的节点

div:first-child:这里表示所有 div节点下面的第一个直接子节点。

2.      Font-face可以用来加载字体样式,而且它还能够加载服务器端的字体文件,让客户端显示客户端所没有安装的字体。

未在客户端安装的字体样式

参看如下代码:

3.Font-face 客户端字体案例

<p><font face="arial">arialcourier verdana</font></p>

扫描二维码关注公众号,回复: 2982330 查看本文章

4. 字体基本写法

<p><font style="font-family: arial">arialcourier verdana</font></p>

5. Font-face 服务端字体案例

@font-face {

font-family: BorderWeb;

src:url(BORDERW0.eot);

}

@font-face {

font-family: Runic;

src:url(RUNICMT0.eot);

}

 

.border { FONT-SIZE: 35px; COLOR:black; FONT-FAMILY: "BorderWeb" }

.event { FONT-SIZE: 110px; COLOR:black; FONT-FAMILY: "Runic" }

3.      word-wrap: break-word,设置或检索当当前行超过指定容器的边界时是否断开转行。

如果break-word,文字超过就到到第二行去

4.      text-overflow则设置或检索当当前行超过指定容器的边界时如何显示

5.      文字渲染的属性:

Text-fill-color: 文字内部填充颜色

Text-stroke-color: 文字边界填充颜色

Text-stroke-width: 文字边界宽度

6.      多列布局

Column-count:表示布局几列

Column-rule:表示列与列之间的间隔条的样式

Column-gap:表示列于列之间的间隔

7.      边框和颜色

color: rgba(255, 0, 0, 0.75); “rgba”属性中的“a”代表透明度,也就是这里的“0.75”

border-radius: 15px;

8.      渐变效果:

左上(0% 0%)到右上(0% 100%)即从左到右水平渐变:

background-image:-webkit-gradient(linear,0%0%,100% 0%,from(#2A8BBE),

color-stop(0.33,#AAD010),color-stop(0.33,#FF7F00),to(#FE280E));

“color-stop”为拐点

径向渐变(radial),这不是从一个点到一个点的渐变,而从一个圆到一个圆的渐变。不是放射渐变而是径向渐变。

backgroud: -webkit-gradient(radial,5050,50,50 50,0,from(black),color-stop(0.5,red),to(blue));

“50,50,50”是起始圆的圆心坐标和半径,“50,50,0”蓝色是目标圆的圆心坐标和半径,“color-stop(0.5,red)”是断点的位置和色彩。这里需要说明一下,和放射由内至外不一样,径向渐变刚好相反,是由外到内的渐变。

9.      阴影和反射效果

.class1{

text-shadow:5px 2px 6px rgba(64, 64, 64, 0.5);

}

.class2{

box-shadow:3px 3px 3px rgba(0, 64, 128, 0.3);

}

X 轴方向阴影向右 5px,Y轴方向阴影向下 2px, 而阴影模糊半径 6px,颜色为 rgba(64, 64, 64, 0.5)。其中偏移量可以为负值,负值则反方向。

10.  背景效果

11.  盒子模型

Transitions,transforms,animation

Transforms:就是指拉伸,压缩,旋转,偏移等等一些图形学里面的基本变换

skew”是倾斜,“scale”是缩放,“rotate”是旋转,“translate”是平移

.skew {

-webkit-transform: skew(50deg);

}

 

.scale {

-webkit-transform: scale(2, 0.5);

}

 

.rotate {

-webkit-transform: rotate(30deg);

}

 

.translate {

-webkit-transform: translate(50px, 50px);

}

 

.all_in_one_transform {

-webkit-transform: skew(20deg) scale(1.1, 1.1)rotate(40deg) translate(10px, 15px);

}

Animation:

@-webkit-keyframes anim1 { //规定动画:名称{ }

   0% { //开始动画

       Opacity:0;

Font-size: 12px;

   } //中间可以加任意百分比的状态

   100% { //结束动画

       Opacity:1;

Font-size: 24px;

   }

}

.anim1Div {

   -webkit-animation-name:anim1 ; //动画名称

   -webkit-animation-duration:1.5s; //持续时间

   -webkit-animation-iteration-count:4; //播放次数

   -webkit-animation-direction:alternate; 播放线性

   -webkit-animation-timing-function:ease-in-out; //动画速度曲线

}

 

尺寸:ppi每英寸的像素点,是一个率,表示了清晰度,精准

Pt:专用的印刷单位,大小为1/72英寸,打印的时候是固定的,显示效果主要看显示屏

En:就是%1em=100%;相对长度,不固定,会继承父级元素字体大小。

Rem:相对的只是html根元素;

Px:像素,是屏幕上显示数据最基本的点,相对于显示屏分辨率而言

IE无法调整使用px作为单位的字体大小

国外的大部分网站能够调整em和rem

Firefox能够调整px,和em,rem

 

UI布局:

网格容器:

通过display属性设置属性值为gridinline-grid可以创建一个网格容器。网格容器中的所有子元素就会自动变成网格项目(grid item)

display: grid

display:inline-grid

网格项目默认放在行中,并且跨网格容器的全宽

 

显示网格: 

使用grid-template-columnsgrid-template-rows属性可以显式的设置一个网格的列和行

【grid-template-rows】默认值为none

grid-template-rows指定的每个值可以创建每行的高度。行的高度可以是任何非负值,长度可以是px、%、em等长度单位的值

 

【grid-template-columns】默认值为none

像行一样,通过grid-template-columns指定的每个值来创建每列的列宽

 

fr单位可以帮助我们创建一个弹列的网格轨道。它代表了网格容器中可用的空间(就像Flexbox中无单位的值)

grid-template-columns: 1fr 1fr 2fr

在这个示例中,网格容器分成了4等份(1 + 1 + 2 = 4),每一份(1fr)是网格容器宽度的四分之一。所以item1和item2的宽度是网格容器的四分之一宽,item3是网格容器宽度的四分之二(2fr)

 

grid-template-columns:3rem 25% 1fr 2fr

  当fr和其它长度单位的值结合在一起的时候,fr是基于网格容器可用空间来计算。

  在这个示例中,网格容器可用空间是网格宽度减去3rem和25%剩下的宽度,而fr就是基于这个尺寸计算:

1fr = (网格宽度 - 3rem -网格宽度 * 25%) / 3

 

【minmax()】是网格宽度或者高度的属性方法

  可以通过minmax()函数来创建网格轨道的最小或最大尺寸。minmax()函数接受两个参数:第一个参数定义网格轨道的最小值,第二个参数定义网格轨道的最大值。可以接受任何长度值,也接受auto值。auto值允许网格轨道基于内容的尺寸拉伸或挤压

grid-template-rows: minmax(100px, auto);

grid-template-columns:minmax(auto, 50%) 1fr 3em;

在这个示例中,第一行的高度最小值是100px,但其最大值为auto,允许行的高度可以变大超过100px。第一列设置了最小值为auto,但它的最大值是50%,也就是列的最大宽度不会超过网格容器宽度的50%

 

【repeat()】是网格宽度或者高度的属性方法

  使用repeat()可以创建重复的网格轨道。这个适用于创建相等尺寸的网格项目和多个网格项目。repeat()接受两个参数:第一个参数定义网格轨道应该重复的次数,第二个参数定义每个轨道的尺寸。

grid-template-rows:repeat(3, 1fr);   

grid-template-columns:30px repeat(3, 1fr) 30px;

在这个示例中,第一列和最后一列的宽度都是30px,并且它们之间有另列三列,这三列是通过repeat()来创建的,而且每列的列宽是1fr(1fr = (网格宽度 - 30px- 30px) / 3)

 

grid-template-areas

使用grid-area属性定义网格区域名称,从而定义网格模板。网格区域重复的名称就会导致内容跨越这些单元格。句点表示一个空单元格。语法本身提供了一种可视化的网格结构。

grid-column-gapgrid-row-gap

指定网格线的大小。你可以把它想像成在行/列之间设置间距宽度。

都在container里写属性;

align-items:网格内的项目在网格中的垂直方向

justify-items:网格内的项目在网格中的水平方向

align-content:整个网格在父级元素中的垂直位置

justify-content:整个网格在父级元素中的水平位置

 

网格里项属性://网格里的内容,使用特定的网格线确定网格项在网格内的位置。

grid-column-start/网格项左边线,

grid-column-end/网格项右边线;

上面两个可以写成:grid-column: 3 / span 2;

grid-row-start/网格项上面线;

grid-row-end/网格项下面线;

上面两个可以写成:grid-row: third-line / 4;

 

justify-self:网各项在网格中垂直方向

start: 内容与网格区域的左端对齐

end: 内容与网格区域的右端对齐

center: 内容处于网格区域的中间位置

stretch: 内容宽度占据整个网格区域空间(默认值)

align-self:网格项在网格中水平方向

start: 内容与网格区域的顶端对齐

end: 内容与网格区域的底部对齐

center: 内容处于网格区域的中间位置

stretch: 内容高度占据整个网格区域空间(默认值)


猜你喜欢

转载自blog.csdn.net/lemisi/article/details/79488005
今日推荐