css3 浮动效果-css 浮动、定位、过渡、2D、3D、动画、flex

css(4)传统网页布局常见流程(标准流程)的三种形式

标签按照指定的默认格式排列

1、块级元素会占据一行,并按照从上到下的顺序排列。

常用元素:div、hr、h1~h6、ul、ol、dl、form、table

2.行中的元素会按照顺序从左到右排列,遇到父元素的边缘时会手动断线。

常用元素:span、a、i、em

漂浮

多个块级元素可以无间隙地显示在一行中。

多个块级元素水平排列可以找到标准流,多个块级元素垂直排列可以找到浮动

浮动浮动

创建一个浮动框,将其连接到一侧,直到左边缘或右边缘接触到包含浮动框或另一个浮动框的边缘。

选择器{
	float:属性值;
}

属性值说明

没有任何

元素不浮动(默认)

左边

元素向左浮动

正确的

元素向右浮动

浮动特征

1. 浮动元件将脱离标准流程(标签外)并连接到指定位置。

2. 浮动元素将显示在一行中,但与元素底部对齐。 (如果其中一个袋子变高,则顶部边缘也对齐)

注意:浮动元素靠得很近。 如果父包的厚度无法容纳,则额外的包将开始新的一行。

3.浮动元素将具有内联块元素的特性。

4. 浮袋不再保持原来的位置。

浮动元素通常与标准流父级一起使用

首先使用标准流程的父元素进行上下位置排列,然后内部子元素采用左右位置浮动排列。

浮动注意点

1.匹配浮动流和标准流的父包。

先使用标准流程的父元素排列上下位置,然后内部子元素采用左右位置浮动排列

2.如果一个元素浮动,理论上剩余的兄弟元素也应该浮动以避免出现问题。

浮动只会影响前面的标准流,并且会显示在前一个标准流的下面

删除浮动

因为当父级包较多时,不方便给出高度,且子包浮动,不占位置。 最后,当父级包的高度为0时,会影响下面标准流的包。

去除漂浮性质 消除漂浮 清除

选择器{
	clear:属性值;
}

在实际工作中,明确:两者兼而有之; 几乎被专门使用。

去除浮动的策略是:关闭浮动。

如何去除浮动

1.附加标记方法

在浮动元素末尾添加空标签(空标签必须是块级元素,而不是行内元素)

例如:

.clear{
	clear:both;
}

或者其他标签,例如

等待

2.给parent添加overflow属性

将其属性设置为隐藏、自动、滚动

(溢出部分无法显示)

3.将after伪元素添加到父元素中

上面写这段代码来查找父元素

4.给父级添加双伪元素

方法与上面相同

位置

1.某个元素可以在一个包中自由通信并阻塞其他包。

2. 滚动窗口时,包被固定在屏幕上的某个位置。

定位构成

定位=定位方式+边缘偏转

定位模式用于指定元素在文档中的定位方式; 边缘倾斜决定了元素的最终位置。

定位方式

位置属性

值语义

静止的

静态定位

相对的

相对定位

绝对

绝对定位

固定的

固定定位

侧偏转

四个属性:上、下、左、右

静态定位

默认定位,不定位。

选择器{
	position:static;
}

根据标准流量特性定位,无侧偏。

相对定位 相对

选择器{
	position:relative;
}

1. 移动位置以原始位置为准。

2.当元素一起移动时,原来的位置仍然被占用,旁边的包总是以标准流方法对待它。

例子:

.box1{
	postion:relative;
	top:100px;
	left:100px;
	width:200px;
	height:200px;
	background-color:pink;
}
.box2{
	width:200px;
	height:200px;
	background-color:deeppink;
}

功效:

css3鼠标滑过遮罩效果_css3菜单栏浮动_css3 浮动效果

绝对定位 绝对定位

当一个元素处于连接位置时,它相对于其祖先元素会发生变化。

选择器{
	position:absolute;
}

1、如果没有父元素或者父元素没有定位,则以浏览器页面为准。

2、祖源元素有定位,以最近的一级祖源元素为准。

例子:

.father{
	position:relative/absolute;
	width:500px;
	height:500px;
	background-color:pink;
}
.son{
	position:abolute;
	left:0;
	bottom:0;
	width:200px;
	height:200px;
	background-color:sky-blue;
}

功效:

3、绝对定位不占据原来的位置(比浮起来还高),下面的包会占据它的位置。

使用相对/绝对定位

1、孩子是绝对定位的,不会占位置。 它可以放置在父包上方的任何位置,并且不会影响其他兄弟包。

2. 父包需要定位以限制子包在父包内显示。

3、爸爸的包在摆放时需要占据位置,所以妈妈只能相对定位。

相对定位通常用作绝对定位的父级。

因为parent需要占据位置,所以是相对定位,而child bag不需要占据位置,所以是绝对定位。

固定定位固定

将元素固定在浏览器可见区域内。 使用场景:当浏览器页面滚动时,元素的位置不会改变。

选择器{
	position:fixed;
}

特征:

1. 使用浏览器的可视窗口作为连接元素的参考。

2.固定定位不占据原来位置

固定在铁芯两侧

1.让固定定位包left:50%走到浏览器可见区域的一半。

2. 使固定位置的袋子的左边距为板中心长度的一半。 移动中心距离一半以上。

.fixed{
	position:fixed;
	left:50%;
	margin-left:400px;
	width:50px;
	height:150;
	background-color:blue;
}

粘性定位粘性

相当于相对定位和固定定位的结合。

选择器{
	position:sticky;
	top:10px;
}

特征:

1.使用浏览器的可视窗口作为参考点连接元素(固定定位特性)

2、粘性定位占据原来的位置(相对定位的特点。

3. 必须添加上、左、右、下之一才有效。

.nav{
	position:sticky;
	top:0;
	width:800px;
	height:50px;
	background-color:pink;
	margin:100px auto;
}

位置堆叠顺序 z-index

使用定位时,袋子可能会重叠。 本例中使用z-index来控制包的前后顺序(z轴)

选择器{
	z-index:1;
}

定位将包的绝对定位扩展到中心

绝对定位的包无法通过 margin:()auto 水平/垂直居中

方式:

1. 左:50%; 让包的一侧连接到父元素的水平中心。

2. 左边距:100px; 让袋子将其自身长度的一半连接到左侧。

.box{
	position:absolute;
	left:50%;
	margin-left:-100px;
	width:200px;
	height:200px;
	background-color:pink;
}

定位的特殊性

绝对定位和固定定位也和浮动类似。

css3 浮动效果_css3菜单栏浮动_css3鼠标滑过遮罩效果

1.给行内元素添加绝对或固定定位,可以直接设置高度和长度。

span{
	position:absolute;
	width:100px;
	height:100px;
	background-color:pink;
}

2.为块级元素添加绝对定位或固定定位。 如果未给出长度或高度,则默认大小为内容的大小。

.div{
	position:absolute;
	background-color:pink;
}

功效:

不贴标签的袋子不会引发外距离塌陷

浮动元素、绝对定位(固定定位)元素不会触发外距离合并的问题。

绝对定位(固定定位)将袋子完全困住

浮动元素则不同,它只会遮挡其下方标准流的包,不会遮挡其下方标准流上方的文字(图片),如:

而绝对定位(固定定位)会屏蔽掉下面所有标准流的内容,比如:

之所以浮动不会遮挡文字,是因为浮动本来是为了形成文字环绕效果,文字会围绕浮动元素。

CSS3 过渡

当元素从一种样式更改为另一种样式时添加到元素的效果

过渡动画:逐渐从一种状态过渡到另一种状态

经常与 :hover 一起使用

transition:要过渡的属性 花费的时间 运动曲线 何时开始;(后两个可以省略)

1、属性:你要改变的css属性,包括长度、高度、背景色、内外行距。如果你想让所有属性都是

对于更改和转换,只需全部写入即可。

2、耗时:单位为秒(单位必须写出来),如0.5s

3.运动曲线:默认ease(可省略)

4、何时启动:单位为秒(单位必须写好)。 您可以设置延迟触发时间。 默认值为 0 秒。

例子:

div{
	width:200px;
	height:100px;
	background-color:pink;
	/*如果想写多个属性,用,分割*/
	transition:width .5s ease 1s,height .5s ease 1s;
	/*如果想要多个属性都变化,属性写all即可*/
	transition: all 0.5s;
}

剪切图片常用的图片格式jpg图片格式:JPEG(.JPG)保留色调信息较好,清晰度高,色彩较多。 我们的产品图片经常使用jpg格式gif图像格式:GIF格式只能存储256种颜色,所以一般用来显示简单的图形和字体,并且可以保存透明背景

而动画效果,其实经常会用到一些图片中,小动画效果png图片格式是一种新型的网络图形格式,它结合了GIF和JPEG的优点,并且具有存储方式丰富的特点。

支持透明背景。 如果要分割成透明背景的图片,请选择png格式。 PSD图像格式 PSD格式是Photoshop的一种特殊格式,可以存储视口、通道、蒙版等各种设计稿。 对于最终用户来说css3 浮动效果,最大的优势是我们可以直接从中复制文本,获取图片,并检测大小和距离。 视口切割

最简单的图片剪切方法:在视口上右键->快速导入为PNG

您需要合并视口然后导入:

1. 选择所需的视口:视口菜单 –> 合并视口(ctrl+e)

2. 右键单击​​视口 -> 快速导入为 PNG

CSS属性书写顺序

建议遵守以下顺序:

1.布局定位属性:display/position/float/clear/visibility/overflow(建议先写display,虽然和模式有关)

2.自带属性:width/height/margin/padding/border/background

3. 文本属性:颜色/字体/文本装饰/文本对齐/垂直对齐/空白/断字

4.其他属性(CSS3):content/cursor/border-radius/box-shadow/text-shadow/background:linear-gradient...

页面布局总体思路

常见的网页布局方法

二维转换

变换可以实现元素的位移、旋转、缩放等效果。

联通:翻译

transform: translate(x, y);或者分开写
transform: translateX(x);
transform: translateY(y);

1.定义2D变换中的连接,沿X轴和Y轴连接2.元素ntranslate最大的优点:不会影响其他元素的位置

3. 参数x和y可以是百分比。 Translate中的比率单位是相对于其自身元素的长度或高度的比率。 翻译:(50%, 50%)

4. 对内联标签没有影响

实现袋子的水平和垂直居中

/*子绝父相*/
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);

旋转:旋转

二维旋转是指在二维平面内顺时针或逆时针旋转元件。

transform: rotate(45deg);

1.如果值为负数,则顺时针旋转,如果为正数,则逆时针旋转。

2、默认旋转中心点为元素的中心点。

变换中心点transform-origin

我们可以通过设置transform-origin来设置元素变换的中心点。

句型:

transform-origin: x y;

1、xy默认转换的中心点为元素中心点(50%50%)

2.还可以为xy设置像素或位置名词(topbottomleftrightcenter)

缩放:比例

控制元素放大和缩小

 transform: scale(x, y);

1、参数小于1则放大,大于1则缩小。

2、如果x和y不带单位,则指缩放倍数。 3.transform:scale(2):只写一个参数,第二个参数与第一个参数相同,相当于scale(2,2)

4. 可以与transform-origin一起使用来改变缩放中心。

5、规模优势:不占用空间

转换综合写作

同时使用多个变换,格式为:

 transform: translate() rotate() scale();

1. 顺序会影响转化效果。 (如果先旋转,坐标轴的方向就会改变)

2.当我们同时拥有位移和其他属性的时候,记得先把位移放在前面。

卡通片

可以设置多个节点来精确控制一个或一组动画,常用于实现复杂的动画效果。 与转场相比,动画可以实现更多变化、更多控制、连续手动播放等效果。

动漫的基本使用

1.定义动画(动画序列%a)

2.使用动漫

 /* 1. 定义动画 */
@keyframes move {
    /*开始状态*/
    0% {
        transform: translateX(0px);
    }
    /*结束状态*/
    100% {
        transform: translateX(1000px);
    }
}
div {
    width: 200px;
    height: 200px;
    background-color: pink;
    /* 2. 调用动画 */
    /* 动画名称 */
    animation-name: move;
    /* 持续时间 */
    animation-duration: 5s;
}

动漫序列

1. 0%为动画开始,100%为动画完成。 这样的规则就是动画序列。

2.在@keyframes中指定某种CSS样式,以创建从当前样式逐渐变为新样式的动画效果。

3、一个元素可以添加多个动画,调用时用冒号分隔。 动画:bear.4s、move3s;

4. 请使用比例来指定变化发生的时间,或者使用关键字“from”和“to”,分别相当于0%和100%。

笔记:

动画的常见属性

动漫属性缩写

animation: 动画名称(必) 持续时间(必) 运动曲线 何时开始 播放次数 是否反方向 动画起始或者结束的状态;

animation: myfirst 5s linear 2s infinite alternate;

3D转换

三维坐标系虽然指的是三维空间,但三维空间是由三个轴组成的。

3D联通翻译3d透视透视

在2D平面上形成近、大、远小的视觉立体效果,而且效果只是二维的。

如果想要在网页上创建3D效果,就需要透视(理解为3D物体投影在2D平面上)。模拟人类的视觉位置,可以认为安排一只耳朵看透视就是称为观看距离:观看距离是人的眼睛到屏幕的距离。 离视点越近,笔记本平面上的图像就越大,离视点越远,图像就越小。 单位是像素

透视写在被观察元素的父包内

3D旋转rotate3d

xyz是表示旋转轴的向量变换:rotate3d(1,0,0,45deg)是沿x轴旋转45deg

transform:rotate3d(1,1,0,45deg) 是对角旋转45deg

旋转方向判断-左手判据

3D渲染transfrom-style(重要)FlexFlex布局原理

父包添加flex属性css3 浮动效果,控制子包的位置和排列方式,实现flex布局

Flex 布局父项的常用属性

flex-direction 设置主轴方向

Flex短发是主轴和侧轴。 默认主轴为x,水平方向,从左到右。

而flex-direction用于修改主轴方向。

felx-direction有四个值:row(默认值)、row-reverse(从右到左)、column(从上到下)、column-reverse(从下到上)

justify-content 设置主轴子元素的排列

可以指定子元素在父元素中的排列方式:如居中对齐、均匀分布、两边中间均匀分布等。

flex-wrap子元素是否换行

启用flex布局后,默认不换行

如果您想更改疗效设置

flex-wrap:wrap

align-items 设置侧轴子元素的对齐方式

借助align-items,可以设置侧轴元素的对齐方式,当子项为单个项(单行,这意味着我没有使用flex-wrap:wrap;为行)时使用它休息)

0921946316)]

flex-direction 设置主轴方向

Flex短发是主轴和侧轴。 默认主轴为x,水平方向,从左到右。

而flex-direction用于修改主轴方向。

felx-direction有四个值:row(默认值)、row-reverse(从右到左)、column(从上到下)、column-reverse(从下到上)

justify-content 设置主轴子元素的排列

可以指定子元素在父元素中的排列方式:如居中对齐、均匀分布、两边中间均匀分布等。

flex-wrap子元素是否换行

启用flex布局后,默认不换行

如果您想更改疗效设置

flex-wrap:wrap

align-items 设置侧轴子元素的对齐方式

借助align-items,可以设置侧轴元素的对齐方式,当子项为单个项(单行,这意味着我没有使用flex-wrap:wrap;为行)时使用它休息)