前端技术——3——浮动与定位

前端学习笔记____基础篇HTML&CSS ???? 作者主页:????仙女不下凡???? ???? 前言介绍:以下???? 内容都是我个人对于前端知识的总结,会定期更新欢迎持续关注! ???? 欢迎点赞 ???? 收藏 ⭐留言 ???? 如有错误敬请指正! ???? 视频地址:黑马程序员pink老师前端入门教程 第一章 ... 阅读详情

浮动与定位:float,position

块级标签:<div> <p> <h1-6> <ul><ol><dl>
内联标签:<a> <img> <input> <span><select><textarea>

正常文档流:将元素(标签)在进行排版布局的时候,按照从上到下,从左到右的顺序进行排版的一个布局流。如果都是内联标签,则一行最右边的标签显示长度大于当前行右边的空间长度,自动换行到下一行的最左边,如果是块级标签,则一个标签占一行,即从新的一行的最左边开始独占一行。
脱离文档流:将元素(标签)从正常文档流中取出,进行覆盖,其他元素会按照文档流中不存在该元素从更新进行布局。有两个属性可以使元素脱离文档流:float和position。

float(浮动):非完全脱离
position:absolute | fixed (定位):完全脱离,还有两个relative | static,没有脱离文档流

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .div1{
            background-color: green;
            width: 100px;
            height: 100px;
        }
        .div2{
            background-color: blue;
            width: 100px;
            height: 100px;
        }
        .div3{
            background-color: yellow;
            width: 300px;
            height: 300px;
        }
    </style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
</body>
</html>

所有块级标签,每个标签单独占据一行,三个div占据三行:

 内联与块级混合:

<a href="#">aaaaaaa</a><a href="#">bbbbbbbbbb</a>
<div class="div1"></div>
<div class="div2"></div><a href="#">cccccccccc</a>
<div class="div3"></div>

 float:设置div2为float,即让蓝色盒子浮起来

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .div1{
            background-color: green;
            width: 100px;
            height: 100px;
        }
        .div2{
            background-color: blue;
            width: 100px;
            height: 100px;
            float: left;
        }
        .div3{
            background-color: yellow;
            width: 300px;
            height: 300px;
        }
    </style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
</body>
</html>

 蓝色盒子浮起来是,就脱离了正常文档流,它的位置会被后面的标签占据,浮起,相当于分层了,浮到了上一层,上一层又遮盖了下面的一层。黄色的盒子顶上去了,占据了原来蓝色盒子的位置,所以蓝色盒子是脱离了文档流的。关键是蓝色盒子浮起后的位置。这里设置的是向左漂浮,原则就是一直向左飘,直到碰到边框为止,然后向上飘,直到遇到第一个正常文档流中的块级标签或内联标签长度超过屏幕一行的长度,然后在其垂直位置下方;或者是上一个浮动标签的左边。

上面的例子是向左浮动然后向上遇到块级标签,即绿色盒子,然后垂直对齐绿色盒子排列。

修改一下:
 

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .div1{
            background-color: green;
            width: 100px;
            height: 100px;
        }
        .div2{
            background-color: blue;
            width: 100px;
            height: 100px;
            float: left;
        }
        .div3{
            background-color: yellow;
            width: 300px;
            height: 300px;
        }
    </style>
</head>
<body>
<div class="div1"></div>
<span>||aaaaa||</span>
<div class="div2"></div>
<div class="div3"></div>
</body>
</html>

蓝色盒子向上浮动,将<span>内联标签挤开, 紧挨着绿色盒子排版。增加内联标签个数,致使其一行超过屏幕长度:这样写<span>||aaaaa||</span><span>||aaaaa||</span><span>||aaaaa||</span><span>||aaaaa||</span>。。。

 如果两个span标签中间有一个空格,或者是一行写一个span标签,如:
<span>||aaaaa||</span>
<span>||aaaaa||</span>
。。。
<span>||aaaaa||</span>

float设置为right:

 如果div1,即绿色盒子也设置为float:left

绿色盒子先浮动,到最左边,蓝色盒子随后向左浮动,一直到到绿色盒子右边,因为绿色和蓝色盒子都浮动,所以位置都让出来,黄色盒子就到了原来绿色盒子位置处。如果绿色盒子设置为float:right,则:

 

 蓝色盒子也设置为float:right

 相当于浮动起来的标签又组成了一个文档流。

如果div中有文本内容:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .div1{
            background-color: green;
            width: 100px;
            height: 100px;
        }
        .div2{
            background-color: blue;
            width: 100px;
            height: 100px;
            float: left;
        }
        .div3{
            background-color: yellow;
            width: 300px;
            height: 300px;
        }
    </style>
</head>
<body>
<div class="div1">1111</div>
<div class="div2">2222</div>
<div class="div3">3333</div>
</body>
</html>

 2222并没有覆盖3333,这就是float是非完全脱离的原因。它将下面覆盖的标签中的文本给撑出去了。float原本就是为了设置本文围绕图片格式功能设计的,没有完全脱离文档流。

float属性,要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是流。无论多么复杂的布局,其基本出发点都是:如何在一行显示多个div元素。浮动可以理解为让某个div元素脱离标准流,漂浮在标准流之上,和标准流不是一个层次。

假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。

div的顺序是HTML代码中div的顺序决定的。靠近页面边缘的一端是前,远离页面边缘的一端是后。当初float被设计的时候就是用来完成文本环绕的效果,所以文本不会被挡住,这是float的特性,即float是一种不彻底的脱离文档流方式。

清除浮动:在非IE浏览器下,当容器的高度为auto,且容器中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。这个现象叫做浮动溢出,为了防止这个现象出现而进行的CSS处理,就叫做CSS清除浮动。

清除浮动的关键字是clear:clear : none | left | right | both

取值:
none:默认值。允许两边都可以有浮动对象。
left:不允许左边有浮动对象。
right:不允许右边有浮动对象。
both:不允许有浮动对象。

清除不是去修改其他元素,而是使设置清除的元素自己向下移动一行,使自己的左右或两边不含有浮动元素,也就是原先与浮动元素为伍,现在不想队伍里有浮动对象,但是又不能改变别的元素,只好自己退出,不与他们为伍了。

例子:想做一个如下效果的页面

 初始代码如下:
 

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .outer{
            background-color: blue;
        }
        .menu1{
            width: 100px;
            height: 50px;
            color: gold;
        }
        .menu2{
            width: 100px;
            height: 50px;
            color: gold;
        }
        .bottom{
            text-align: center;
            background-color: rosybrown;
        }
    </style>
</head>
<body>
<div class="outer">
    <div class="menu1">菜单一</div>
    <div class="menu2">菜单二</div>
</div>
<div class="bottom">底部</div>
</body>
</html>

显示效果:

设置浮动:

 

结果:

 

菜单一二的背景没了,底部上去了。有点乱了。

原因是对于outer盒子来说,当menu1和menu2都浮动后,相当于outer盒子变成了空盒子,空盒子没有内容,又没有设置高度宽度,所以盒子撑不起来了。

可以设置一下outer,设置一个高度50px,就可以撑起这个盒子。但是这就使高度设成固定值了。

 推荐的可以使用清除clear来解决:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .outer{
            background-color: blue;
            /*height: 50px;*/
        }
        .menu1{
            width: 100px;
            height: 50px;
            color: gold;
            float: left;
        }
        .menu2{
            width: 100px;
            height: 50px;
            color: gold;
            float: left;
        }
        .clear{
            clear: both;   /*设置清除*/
        }
        .bottom{
            text-align: center;
            background-color: rosybrown;
        }
    </style>
</head>
<body>
<div class="outer">
    <div class="menu1">菜单一</div>
    <div class="menu2">菜单二</div>
    <div class="clear"></div>   /*添加一个空div*/
</div>
<div class="bottom">底部</div>
</body>
</html>

这是清除的一个固定用法。

第三种方法:在outer盒子上设置overflow:hidden

.outer{
         background-color: blue; 
         overflow: hidden; }

position:定位

固定在屏幕的固定位置:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .div1{
            height: 1000px;
            background-color: rosybrown;
        }
        .div2{
            height: 1000px;
            background-color: green;
        }
        a{
            position: fixed;
            bottom: 20px;
            right: 20px;
        }
    </style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
<a>返回顶部</a>
</body>
</html>

 

 随着网页的下拉,返回顶部几个字始终固定在这个位置。这是position:fixed作用。这时就脱离文档流了。

还有position : fixed | absolute | relative | static

relative:相对定位:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .div1{
            background-color: green;
            width: 100px;
            height: 100px;
        }
        .div2{
            background-color: blue;
            width: 100px;
            height: 100px;
            position: relative;  /*设置定位,为相对定位*/
            top: 100px;
            left: 100px;
            }
        .div3{
            background-color: yellow;
            width: 300px;
            height: 300px;
        }
    </style>
</head>
<body>
<div class="div1">1111</div>
<div class="div2">2222</div>
<div class="div3">3333</div>
</body>
</html>

 因为黄色盒子没有顶上去,说明蓝色盒子的位置还在,所以没有脱离文档流。

absolute:

将上述程序的position设置为absolute,其他不变:

 从上述结果,暂时能够得出,设置absolute后,元素脱离了文档流,黄色盒子顶上去了,然后,蓝色盒子的定位,现在看来是参照浏览器(html标签),即以屏幕0,0坐标来左移100px,下移100px,因为body外边还有空白,所以蓝色和绿色有一点交叉。

对于position属性:

1、static,默认值static:无特殊定位,对象遵循正常文档流。
top,right,bottom,left等属性不会被应用。对于文档流,其实就是文档的输出顺序,也就是我们通常看到的由左到右,由上而下的输出形式,在网页中每个元素都是按照这个顺序进行排序和显示的,而float和position两个属性可以将元素从文档流中脱离出来显示。默认值就是让元素继续按照文档流显示,不做任何改变。

2、position:relative/absolute:
relative:对象遵循正常文档流,但将依据top、right、bottom、left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。
absolute:对象脱离文档流,使用top、right、bottom、left等属性进行绝对定位。而其层叠通过z-index属性定义。如果设定position:relative,就可以使用top、right、bottom、left来相对于元素在文档中应该出现的位置来移动这个元素。【意思是元素实际上依然占据文档中的原有位置,只是视觉上相对于它在文档中的原有位置移动了】,当指定position:absolute时,元素脱离了文档【即在文档中已经不占据位置了】,可以准确的按照设置的top、right、bottom和right来定位了

如果没有设置left,top又没有设置right,bottom,它跟static时的位置一样,会被他的上一个static或relative兄弟挤下去,但是它本身不占位置。

对于absolute的元素,会找其最近的、且为非static的父元素为参照基准进行位置调整,即运用top、right、bottom、left以这个父元素位置为基准进行调整。

3、position:fixed:在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。

fixed:对象脱离正常文档流,使用top、right、bottom、left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性定义。注意,一个元素若设置了position:absolute | fixed,则该元素就不能设置float。这是一个常识性知识点,因为这是两个不同的流,一个是浮动流,另一个是定位流。但是relative可以,因为它原本所占的空间仍然占据文档流。

对于上面的例子,我们给div2套一个父元素div,class=‘box2’。

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .div1{
            background-color: green;
            width: 100px;
            height: 100px;
        }
        .div2{
            background-color: blue;
            width: 100px;
            height: 100px;
            /*position: absolute;  !*设置定位,为相对定位*!*/
            /*top: 100px;*/
            /*left: 100px;*/
            }
        .div3{
            background-color: yellow;
            width: 300px;
            height: 300px;
        }
        .box2{
            border: 10px solid red;
        }
    </style>
</head>
<body>
<div class="div1">1111</div>
<div class="box2">
    <div class="div2">2222</div>
</div>
<div class="div3">3333</div>
</body>
</html>

 对div2设置position:absolute

position: absolute;  /*设置定位,为相对定位*/
top: 100px;
left: 100px;

此时,div2的表现与没有加box2相同,也就是div2还是相对于浏览器窗口,即HTML标签进行的参照定位。

对box2进行设置,同时修改一下div3,作为对比:

 <style>
        .div1{
            background-color: green;
            width: 100px;
            height: 100px;
        }
        .div2{
            background-color: blue;
            width: 100px;
            height: 100px;
            position: absolute;  /*设置定位,为相对定位*/
            top: 100px;
            left: 100px;
            }
        .div3{
            background-color: yellow;
            width: 200px;
            height: 200px;
        }
        .box2{
            border: 10px solid red;
            position: relative;
        }

 

此时,div2将相对于其最近的非static属性的父对象为参考点进行定位,它最近的非static父类就是box2,其有边框10px,所以div2呈现上图的位置。

如果给box2加上padding属性,如padding:20px

 

所以,是以内边框左上角为参照点。 

将box2设置为absolute:

 box2设置为fixed:

 关于margin:0 auto;就是使内层的标签在外层标签中居中:

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .div1{
            background-color: rosybrown;
            height: 30px;
        }
        .div2{
            background-color: goldenrod;
            height: 30px;
            width: 300px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
<div class="div1">
    <div class="div2"></div>
</div>
</body>

 内联标签,只有内容的宽高,不能设置宽高,要设置宽高,就要使用块级标签,如果又要设置宽高,又要在一行显示,就要使用display:inline-block。

第四节 CSS特性及实用技巧 《CSS进阶核心:布局、定位与高级特性》摘要: 本文系统讲解CSS进阶知识,重点涵盖浮动布局的清除方法(额外标签法、overflow、伪元素)、五种定位方式的应用场景及区别(static/relative/absolute/fixed/sticky)。深入解析CSS3新特性:变量管理、过渡动画、变换滤镜等视觉增强技术,并提供属性编写顺序、外边距合并处理等实战技巧。通过代码示例演示浮动容器塌陷解决方案和定位元素层级控制,强调多实践、善用开发者工具的学习方法,助力开发者从基础迈向专业级CSS应用。 阅读详情

相关推荐

abaqus2matlab的安装与使用:如何用matlab提取abaqus的odb结果

官网abaqus2matlab官网地址matlab社区地址matlab社区地址在这里可以看到.m文件的源码论文:Abaqus2Matlab: A suitable tool for finite element post-processingabaqus2matlab可以处理.inp、.fil、.odb三种类型的文件。.inp文件:处理功能就在于只是单纯的输出inp文件,由于我自己写了自己的函数,不需要用到这个功能。

qianxin1234的博客 2007

CSS浮动与定位、块级元素与内联元素

CSS浮动与定位、块级元素与内联元素 1 DIV的概念 2 页面布局步骤 3 CSS的定位机制 4 浮动属性 4.1 浮动的含义 4.2 浮动的实现 4.3 常见的浮动布局 4.4 清除浮动 5 定位属性position 5.1 相对定位relative 5.2 绝对定位absolute、fixed 6 visibility、display 7 块级元素与内联元素 7.1 块级元素 7.2 内联元素 7.2.1 内联盒模型 7.2.2 幽灵空白节点

橘猫吃不胖的博客 2404

强化学习之课程学习法

课程学习是一种有计划的学习方法,模拟人类学习的过程。它通过设置逐步增加难度的任务序列,让学习系统从简单的任务开始,逐渐过渡到复杂任务。这一方法可以显著提高训练效率,避免智能体一开始就面临过于复杂的任务,从而导致学习过程困难。逐步难度增加:从简单的任务开始,逐步增加任务的难度,直到智能体能够解决最复杂的任务。动态调整:根据智能体的学习进展,动态调整任务的难度,保证学习的过程始终处于一个适当的挑战性范围。

m0_64087341的博客 2691

实战CSS:静态百度首页实现

目标 : 将百度首界面静态实现,实现以下效果. 效果: 代码: html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>百度一下, 你就知道</title> <link rel="shortcut i...

KaiSarH 1098

Hodgkin-Huxley Model

介绍了经典的动力学模型:HH Model

weixin_73557167的博客 2464

具身智能端侧硬件选型实战:从算力需求到芯片对比与避坑指南

在边缘计算和嵌入式AI快速发展的今天,端侧智能设备的落地不再单纯比拼芯片的标称算力。TOPS数值只是初筛指标,真实的推理性能还受内存带宽、数据精度、稀疏性以及散热功耗等多重因素制约。理解不同视觉感知、决策规划与语言交互任务对算力的差异化需求,是选型的第一步。本文从技术原理出发,剖析了Jetson Orin、地平线征程、RK3588等主流平台的实测表现,并揭示了散热设计、供电链路与软件生态这三个极易被忽略的隐形瓶颈。通过完整的部署调优实录,展示了量化、缓存与电源模式优化如何提升端侧推理效率,为具身智能、无人车

weixin_29164185的博客 355

经验分享:CSS浮动(float,clear)通俗讲解

       很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程。        前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家。        写在前面的话:        由于CSS内容比较多,小菜没有精力从头到尾讲一遍,只能有针对性的讲解。        如果读者理解CSS盒子模型,但对于浮动不理解,那么这篇文章可以帮助你...

weixin_33714884的博客 7577

别再手动调波形了!用STM32G474的HRTIM+DAC生成精密锯齿波,附完整CubeMX配置

本文详细介绍了如何利用STM32G474的高分辨率定时器(HRTIM)和数模转换器(DAC)协同工作,实现高精度锯齿波生成。通过CubeMX配置指南、关键寄存器计算和实践技巧,帮助开发者快速掌握全硬件实现的波形生成方案,显著提升嵌入式系统的波形控制精度和响应速度。

weixin_28716769的博客 239

HTML(div块浮动)

HTML(div块浮动) 之前我们知道了一个div块只能自己独占一行,但是通过浮动设置我们可以使多个不同的块处于同一行 浮动设置 浮动案例实现 一、浮动设置 div块标签的css样式实现是通过选择器实现的,我们在选择器中使用float属性达到实现浮动的目的 head中: /*组选择器*/ .d1,.d2,.d3{ width: 50px; height: 50px; float: left; margin-right: 10px; } .d1{ background-

mooonk的博客 3757

Kafka 性能优化与常见问题排查

Kafka 的高性能依赖于合理的集群设计、参数优化与高效的监控体系。生产环境中,应重点关注I/O 瓶颈、分区规划、Producer/Consumer 参数调优,并通过监控与排查手段快速定位问题,从而保障 Kafka 在实时场景下的稳定运行。

X2829352498的博客 228

LDRA Testbed软件静态分析_操作指南

从本文起,将开始LDRA Testbed(TBrun)教程的系列文章,包括软件静态分析、单元测试、集成测试,以及基于Testbed的自动化工具开发、持续集成、常见问题解答等。LDRA公司是专业的软件测试工具与测试技术、咨询服务提供者,其总部位于英国利物浦。其旗舰产品Testbed/TBrun功能全面、易于使用,不仅适合于主机平台软件测试,同时适合于嵌入式软件测试。不仅能进行软件静态测试,还能进行软件单元测试、软件集成测试,在白盒测试领域运用比较广泛。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1万+

CSS---div盒子模型、相对绝对位置、float浮动、清除浮动

类似下图现象,四个浮动的图不再占用最上面的那个div。

weixin_51351637的博客 3287

【示波器专题】示波器探头的原理深入——有源探头之单端有源探头

由于接地环路的苛刻要求,更高带宽的单端有源探头就算设计了也不实用。因此单端有源探头的带宽一般在6GHz以内,更高带宽的信号测量也只能使用差分有源探头(市面上有些型号的差分探头可同时兼顾单端测试)。......

一点硬件 2141

CSS3学习教程,从入门到精通,CSS3 元素的浮动与定位语法知识点及案例代码(17)

1. **定义** :浮动使元素向左或向右移动,直到它的外边缘碰到包含框或另一个浮动元素的边框为止。浮动主要用于布局,如实现图文绕排等效果。 2. **取值** : * `left` :向左浮动。 * `right` :向右浮动。 * `none` :默认值,不浮动。

qq_45746668的博客 1219

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

浮动与定位1

【代码】浮动与定位1。

Z15117517630的博客 110

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

CSS3 进阶全解:基础语法、盒模型、浮动定位、动画与首页开发实战

CSS(Cascading Style Sheets,层叠样式表)从 1996 年的 CSS1、1998 年的 CSS2 到 2011 年后的 CSS3,逐步演变为现代网页设计的基石。模块化:分为选择器、盒模型、动画、媒体查询等若干模块。新增选择器:如属性选择器、伪类/伪元素等。视觉增强:圆角(border-radius)、阴影(box-shadow)、渐变、动画、变形、过渡等。响应式:媒体查询(Media Query)。背景与边框:多背景、多重边框等。

IT技术学习与工作笔记分享 1424

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

前端复习-css

0506 先记一下Markdown语法 #:标题 —分割线 -圆点 -粗体- –斜体– 俩空格加回车:换行 >:引用 ~删除线~ 代码 MarkDown语法-菜鸟教程 day1 css浮动+基础语法+盒模型 基础语法 外联样式表怎么写 css2.1选择器类型:标签选择器、id选择器、复合选择器 复合选择器: 交集选择器 p.p1 并集选择器 p,p1 后代选择器 div p 4. css3选择器:元素关系选择器 父子关系 div>p 后一个兄弟 div+p 所有兄弟 div~p 序号选择

qq_43273616的博客 184

HTML+CSS学习笔记(pink老师前端课程笔记--补档)

开始于2021年8月3日09点59分 课程学习路线:HTML5-> CSS3->H5C3提高->项目拼优购电商网站 仅更新到H5C3提高的C3提高部分(新增选择器),忙于其他事情,暂不继续更新 文章目录HTML1. HTML标签2. HTML基本结构标签3. 网页开发工具4. 标签语义5. 特殊字符6. 表格标签7. 列表8. 表单CSS基础1. 简介2. 选择器3. 字体属性4. 文本属性5. 引入方式6. chorme调试工具CSS入门1. Emmet语法1.1 快速生成HTML结

Tiimmi丶的博客 1万+

微信开源生产级大模型:部署实战与微调避坑指南

在开源生态蓬勃发展的今天,大模型早已走出实验室,成为驱动业务创新的核心引擎。然而,实验室榜单上的高分与真实生产环境中的稳定表现往往存在巨大鸿沟——数据清洗、训练容错、高并发服务等工程能力,才是决定模型能否落地的关键。近期,微信将内部生产级模型开源,为行业提供了真正经过海量真实场景考验的权重与推理代码。本文从模型选型、推理框架(如vLLM)搭建、LoRA微调路线取舍,到量化精度与显存权衡、许可证与数据合规边界,系统梳理了将开源模型从权重文件转变为线上服务的完整链路,并分享了部署中的踩坑记录与优化经验,帮助开发

weixin_34218890的博客 321

HTML与CSS知识点总结

1、常用浏览器 ​ 浏览器内核(渲染引擎):负责读取网页内容、整理讯息,计算网页的显示方式并显示页面。 浏览器 内核 备注 IE Trident IE、猎豹安全、360、百度浏览器 Firefox Gecko 火狐浏览器内核 Safari Webkit 苹果浏览器内核 Chrome/Opera Blink chrome/opera浏览器内核。Blink其实是Webkit的分支 注:国内浏览器一般采用Webkit/Blink内核,如UC、QQ等 2、Web标准 主要

cherish_hyl的博客 2817

HTML5与CSS3基础教程-第11章 用CSS进行布局

《HTML5与CSS3基础教程(第8版)》 第11章读书笔记 2020/03/13 元素要按照一定的顺序放置, 确保在不使用CSS的情况下也是合理的。 旧版浏览器(IE9-)之前使用H5: (p206 - 207) 大多数浏览器默认将他们无法识别的元素作为行内元素处理。 使用CDN或本地静态资源的方法,在IE9-添加HTML5 shiv。 <head> <!-...

DxCaesar的博客 356

前端一面基础知识 ①——CSS面试题

前言     根据慕课网的《快速搞定前端技术一面 匹配大厂面试要求》课程所整理的题目,陆续更新 常考面试题 1.如何理解语义化 ①让人更容易读懂(增加代码可读性) ②让搜索引擎更容易读懂(SEO问题,让搜索排名靠前“钱”) ③正确的标签做正确的事情 ④页面内容结构化 2.哪些标签是块级元素?哪些标签是内联(行内)元素? 块级(display:block/table):div、p、h1-h6、ul、ol、dl、li、header、footer、aside、sect

qq_40597589的博客 484

CSS3(前端基础)

浮动属性 float,left 表示左浮动,right表示右浮动特点浮动后的盒子顶对齐浮动后的盒子具备行内块特点父级宽度不够,浮动的子级会换行浮动后的盒子脱标清除浮动:子级浮动,父级没有高度,子级无法撑开父级高度,影响布局效果1. 双伪元素法拓展:浮动本质作用是实现图文混排效果。

2401_87777360的博客 952

前端学习3

CSS(层叠样式表),简单说就是用来控制HTML页面元素的样式,比如字体大小、颜色、布局位置等,让单调的HTML页面变得美观、有层次感。核心作用:分离HTML结构和样式,让代码更整洁、易维护。@keyframes 动画名 { 0% { 初始状态;} 100% { 结束状态;} }。

XZY_16的博客 763

可能是目前最全的《前端校招面试题及解析》(292页)

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。需要完整面试题的朋友可以点击蓝色字体获取外链图片转存中…(img-VDDmI3Fe-1713204097876)]既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化![外链图片转存中…(img-QB0gW97f-1713204097876)]

2401_84097427的博客 748

前端宽度一至显示宽度不一致_前端硬核面试专题之 CSS 55 问

前言本文讲解前端面试的 CSS 的内容。复习前端面试的知识,是为了巩固前端的基础知识,最重要的还是平时的积累!注意:文章的题与题之间用下划线分隔开,答案仅供参考。笔者技术博客首发地址 GitHub,欢迎关注。CSS盒子模型的理解 ?标准模式和混杂模式(IE)。在标准模式下浏览器按照规范呈现页面;在混杂模式下,页面以一种比较宽松的向后兼容的方式显示。混杂模式通常模拟老式浏览器的行为以防止...

weixin_36046580的博客 1991
上一篇: 前端技术——2——CSS
下一篇: 前端技术——4——CSS练习
kaoa000
博客等级 码龄16年 6164粉丝 538原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kaoa000

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值