CSS3

CSS3

CSS用于控制网页的样式和布局。
CSS3是最新的CSS标准

CSS3划分出的模块
  • 选择器
  • 框模型
  • 背景和边框
  • 文本效果
  • 2D/3D转换
  • 动画
  • 多列布局
  • 用户界面
CSS3边框
圆角边框

在CSS3中border-radius属性用于创建圆角

div{
	border:solid 1px #eee;
	border-radius:25px;
	}/*向该div元素添加圆角*/
边框阴影
div{
	box-shadow:2px 2px 5px  #ddd;
	/*属性分别对应 横向偏移 左为正 右为负
				纵向偏移 下为正 上为负
				阴影模糊程度
				阴影颜色*/
}
边框图片

border-image: source slice width outset repeat|initial|inherit;

描述
border-image-source用于指定要用于绘制边框的图像的位置
border-image-slice图像边界向内偏移
border-image-width图像边界的宽度
border-image-outset用于指定在边框外部绘制 border-image-area 的量
border-image-repeate用于设置图像边界是否应重复(repeat)、拉伸(stretch)或铺满(round)。
CSS3背景
CSS3 background-size属性

用于调整背景图片大小,可以使用像素或百分比规定尺寸。

div{
   background:url("image.gif");
   background-size:50px 20px;/*使用百分比调整大小可以使图片基于父元素铺满填充区域*/
   background-repeat:no-repeat;
   }
CSS3 background-origin 属性

background-origin属性规定背景图片的定位区域
背景图片可以放置于content-box、padding-box或border-box区域。

CSS3 多重背景图片
body{
background-image:url(image1.gif),url(image2.gif);
}
CSS3文本效果
CSS3文本阴影
h1{
text-shadow:5px 5px #f00;
}/*为标题添加阴影*/
CSS3自动换行
p{word-wrap:break-word};/*允许对单词进行拆分,并进行换行*/
CSS3 2D转换
translate() 方法

根据给定的left和top坐标,元素从当前位置移动

div{
transform:translate(50px,20px);
}/*元素从当前位置向左侧移动50px,向下移动20px*/
rotate() 方法
div{
transform:rotate(90deg);
}/*元素顺时针旋转90度,若为负值为逆时针旋转*/
scacle() 方法
div{
transform:scale(2,1/2);
}/*把宽度转换为原始尺寸的2倍,把高度转换为原始高度的1/2倍*/
skew() 方法
div{
transform:skew(30deg,20deg);
}/*围绕x轴把元素翻转30度,围绕y轴翻转20度*/
3D转换
函数描述
translateX(x)定义 3D 转化,仅使用用于 X 轴的值。
translateY(y)定义 3D 转化,仅使用用于 Y 轴的值。
translateZ(z)定义 3D 转化,仅使用用于 Z 轴的值。
scaleX(x)定义 3D 缩放转换,通过给定一个 X 轴的值。
scaleY(y)定义 3D 缩放转换,通过给定一个 Y 轴的值。
scaleZ(z)定义 3D 缩放转换,通过给定一个 Z 轴的值。
rotateX(angle)定义沿 X 轴的 3D 旋转。
rotateY(angle)定义沿 Y 轴的 3D 旋转。
rotateZ(angle)定义沿 Z 轴的 3D 旋转。
CSS3 过渡

CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。

div{
transition:width 2s;
}/*宽度属性的过渡,时间为两秒*/
div:hover{
width:200px;
}/*当鼠标悬停在div上时,宽度变为200px*/
CSS3 动画

首先使用@keyframes规则创建动画

@keyframes first{
from{background:#f00;}
to{background:#0f0;}
}
@keyframes second{
0% {background:#f00;}
50% {background:#0f0;}
100% {background:#00f;}
}

使用@keyframes创建动画时,必须把他捆绑在某个选择器上,否则不会生效。

div{
animation:first 3s;
}
CSS3 多列
CSS3创建多列

column-count 属性规定元素被分隔的列数

div{
column-count:3;
}/*将文本分隔为3列*/
CSS3 规定列之间的距离

column-gap 属性规定列之间的间隔

div{
column-gap:20px;
}/*列之间的间隔为20像素*/
CSS3 列规则

column-rule 属性设置列之间的宽度、样式和颜色

div{
column-rule:2px outset #f00;
}

CSS3 弹性盒子

弹性盒子是CSS3的一种新的布局模式
CSS3弹性盒子,是一种当页面需要适应不同的屏幕大小以及设备类型是确保元素拥有恰当的布局方式。

CSS3弹性盒子内容

弹性盒子由弹性容器和弹性子元素构成。
弹性容器通过设置display属性的值为flex将其定义为弹性容器。
弹性容器内包含了一个或多个弹性子元素。
弹性子元素默认情况下在一行内从左到右显示,也可以通过direction属性为rtl(right-to-left),排列方式就会变为从右到左。

弹性内容属性
flex-direction 属性

flex-direction属性指定了弹性子元素在父容器中的位置。
flex-direction的值有:

  • row:横向从左到右排列,默认的排列方式。
  • row-reverse:反转横向排列,从后往前排,最后一项在最前面。
  • column:纵向排列。
  • column-reverse:反转纵向排列,最后一项在最上面。
justify-content 属性

justi-content属性应用在弹性容器上。
justi-content的值有:

  • flex-start:弹性项目向行头紧挨着填充。这个是默认值。第一个弹性项的main-start外边距边线被放置在该行的main-start边线,而后续弹性项依次平齐摆放。
  • flex-end:弹性项目向行尾紧挨着填充。第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项依次平齐摆放。
  • center:弹性项目居中紧挨着填充。(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)。
  • space-between:弹性项目平均分布在该行上。如果剩余空间为负或者只有一个弹性项,则该值等同于flex-start。否则,第1个弹性项的外边距和行的main-start边线对齐,而最后1个弹性项的外边距和行的main-end边线对齐,然后剩余的弹性项分布在该行上,相邻项目的间隔相等。
  • space-around:弹性项目平均分布在该行上,两边留有一半的间隔空间。如果剩余空间为负或者只有一个弹性项,则该值等同于center。否则,弹性项目沿该行分布,且彼此间隔相等(比如是20px),同时首尾两边和弹性容器之间留有一半的间隔(1/2*20px=10px)。
    效果图展示:
    图片转自菜鸟教程
align-items 属性

align-items属性设置或检索弹性盒子元素在侧轴方向上的对齐方式。
align-items各个值解析:

  • flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
  • flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
  • center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
  • base-line:如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。
  • stretch:如果指定侧轴大小的属性值为’auto’,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸。
flex-wrap 属性

flex-warp属性用于指定弹性盒子的子元素换行方式。
flex-warp各个值解析:

  • nowrap:默认, 弹性容器为单行。该情况下弹性子项可能会溢出容器。
  • wrap:弹性容器为多行。该情况下弹性子项溢出的部分会被放置到新行,子项内部会发生断行,
  • warp-reverse:反转 wrap 排列。
align-content 属性

align-content 属性用于修改 flex-wrap 属性的行为。类似于 align-items, 但它不是设置弹性子元素的对齐,而是设置各个行的对齐。
align-content 属性各个值解析:

  • stretch:默认,各行将会伸展以占用剩余的空间。
  • flex-start:各行向弹性盒容器的起始位置堆叠。
  • flex-end:各行向弹性盒容器的结束位置堆叠。
  • center:各行向弹性盒容器的中间位置堆叠。
  • space-between:各行在弹性盒容器中平均分布。
  • space-around:各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。
弹性子元素属性
排序 order 属性

order属性设置弹性容器内弹性子元素的属性,用整数值来定义排列顺序,数值小的在前面,可以为负值。

对齐

设置margin值为auto值,自动获取弹性容器中剩余的空间。所以设置垂直方向margin值为auto,可以使弹性子元素在弹性容器的两上轴方向都完全居中。

align-self 属性

align-self 属性用于设置弹性元素自身在侧轴(纵轴)方向上的对齐方式。
align-self 属性各个值解析:

  • auto:如果’align-self’的值为’auto’,则其计算值为元素的父元素的’align-items’值,如果其没有父元素,则计算值为’stretch’。
  • flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
  • flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
  • center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
  • baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。
  • stretch:如果指定侧轴大小的属性值为’auto’,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸。
flex 属性

flex属性用于指定弹性子元素之间如何分配空间
实例:

.flex-item {
    background-color: cornflowerblue;
    margin: 10px;
}
 
.item1 {/*第一个弹性子元素栈用2/4的空间*/
    -webkit-flex: 2;
    flex: 2;
}
 
.item2 {/*占用1/4的空间*/
    -webkit-flex: 1;
    flex: 1;
}
 
.item3 {/*占用1/4的空间*/
    -webkit-flex: 1;
    flex: 1;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值