盒模型——快递比喻法

盒模型,在整个HTML里面都是一个非常重要的关键点,那么,如何正确快速有效的学习好盒模型呢?这就可以用到我们的快递比喻法!
首先,让我们来看一张图。
在这里插入**图片描述
这张图我们可以看**出什么呢!当然,一个快递,里面放了一个鸡蛋。那么,如何通过这张图看出什么东西来,这就是我们需要做的!
一个鸡蛋如果单纯的把它放在一个快递盒里,很明显它会上下左右乱动,试想这个鸡蛋就是一个元素,一个元素可以在一个页面中左右乱动吗,答案当然是不行,那如何把它固定在一个地方不乱动,这就要用到我们的内填充。一个鸡蛋不让它乱动,我们可以给他周边加上一些泡沫,这样鸡蛋就移动不了,那要让一个元素不乱动,我们也可以给它加上"泡沫",这个泡沫就是我们盒模型里的一个css属性:padding!
在这里插入图片描述
padding的作用就是让文本与盒子的周围产生间距,控制子元素在盒子内部的位置关系,我们知道,泡沫是加在快递盒里,而不是鸡蛋里,所以我们的padding一样的加在父元素上面,加了泡沫,盒子自然会被撑大,所以如果我们用了padding,我们需要在宽高的基础上减掉padding的值!但是,当盒子没有设置大小时,那我们就不用减了。因为我们的背景图不会占空间,所以自然不会对背景图产生影响,还有一点,padding是不能为负值的!
单一方向的设置padding值和设置的方法如下:
在这里插入图片描述
padding是用于文本与盒子之间,那如果是盒子与盒子之间呢?
在这里插入图片描述
如上图,如果想让两个盒子间产生距离,又该怎么做?
这就要用到我们盒模型的另一个css属性:margin!margin是用来让两个盒子产生距离,所以自然和padding不一样,margin是长在外围的,控制的是同级元素之间的位置关系!margin值在外围,那也自然不会改变盒子内部大小。
margin的单一方向设置与设置方法与padding一样,只是将padding改为margin
在这里插入图片描述
在这里插入图片描述
与padding不同的是它可以设置负值!
margin经常会出现一些BUG:
上图中也已经写出来了,A:同级元素上下之间的margin值,会重合,不会叠加,会按最大值设置!
B:当父元素和第一个子元素都没浮动,给第一个子元素加上margin-top,它会错误的加到父元素上面!
盒模型还有另外一个组成部分叫做border,就是我们通常所说的边框属性,边框在默认情况下是长在元素宽高外的,border具有三个属性:border-width(边框大小),border-color(边框颜色),border-style(边框类型),其中边框类型尤为重要,没有边框类型其他的设置就不会有体现,一般写border时,我们都是用的复合式写法,即:border:边框大小 边框类型 边框颜色;边框的单一方向设置和和设置方法与margin,padding一样,只需要将margin或padding写成border即可,具体如下:在这里插入图片描述
在这里插入图片描述
以上就是盒模型的一些知识内容,希望我们都可以学有所成,共同进步!

跟网型逆变器小干扰稳定性分析与控制策略优化研究(Simulink仿真实现)内容概要:本文围绕跟网型逆变器的小干扰稳定性展开分析,重点研究其在电力系统中的动态响应特性及控制策略优化问题。通过构建基于Simulink的仿真模型,对逆变器在不同工况下的小信号稳定性进行建模与分析,识别系统可能存在的振荡风险,并提出相应的控制优化方以提升系统稳定性和动态性能。研究内容涵盖数学建模、稳定性判据分析、控制器设计与参数优化,并结合仿真验证所提策略的有效性,为新能源并网系统的稳定运行提供理论支持和技术参考。; 适合人群:具备电力电子、自动控制或电力系统相关背景,熟悉Matlab/Simulink仿真工具,从事新能源并网、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 分析跟网型逆变器在弱电网条件下的小干扰稳定性问题;② 设计并优化逆变器外环与内环控制器以提升系统阻尼特性;③ 利用Simulink搭建仿真模型验证理论分析与控制策略的有效性;④ 支持科研论文撰写、课题研究或工程项目中的稳定性评估与改进。; 阅读建议:建议读者结合文中提供的Simulink仿真模型,深入理解状态空间建模、特征值分析及控制器设计过程,重点关注控制参数变化对系统极点分布的影响,并通过动手仿真加深对小干扰稳定性机理的认识。
### OSI 模型通过物流寄快递案例解析 #### 物理层 (Physical Layer) 物理层负责定义电气、机械、过程和功能特性,用于建立、维护和拆除物理链路连接。这可以类比为物流公司使用的运输工具(如卡车、飞机),以及包裹的物理传递方式。 假设要发送一份文件给远方的朋友,在这个过程中,纸张本身就像比特流一样被承载在不同的介质上传输[^1]。 ```python # 这里展示的是一个简单的模拟物理层传输的例子 def physical_layer(data): """ 将数据转换成可以在物理媒介上传输的形式。 参数: data : str - 要传输的数据 返回: transmitted_data : bytes - 已经准备好传输的数据包 """ # 假设这里进行了某种形式的编码操作... encoded_data = encode_to_physical_format(data) return send_over_medium(encoded_data) transmitted_data = physical_layer("Hello, World!") print(transmitted_data) ``` #### 数据链路层 (Data Link Layer) 该层提供了节点间可靠的数据传输服务,并处理错误检测与纠正等问题。对于物流来说,则相当于确保每一段路程的安全性和准确性——即从发货点到第一个转运中心之间的短途运送。 ```python def data_link_layer(raw_packet): """ 添加必要的控制信息并执行检错纠错算。 参数: raw_packet : bytes - 加入了额外校验位后的数据帧 """ checksum = calculate_checksum(raw_packet) frame = add_frame_header_and_trailer(checksum, raw_packet) return deliver_within_local_network(frame) delivered_frame = data_link_layer(transmitted_data) print(delivered_frame) ``` #### 网络层 (Network Layer) 网络层主要关心路由选择问题,决定最佳路径使分组能到达目的地。对应于物流行业就是规划最优路线图让货物顺利抵达收件地址。这一阶段涉及到了IP寻址等内容。 ```python def network_layer(local_delivery_unit): """ 根据目标位置计算最合适的转发路径。 参数: local_delivery_unit : tuple - 经过本地网段传送过来的信息单位 返回: routed_package : dict - 含有完整路由决策的结果对象 """ destination_ip = extract_destination_address_from_frame(local_delivery_unit) best_route = determine_optimal_path(destination_ip) package_details = prepare_for_next_hop(best_route, local_delivery_unit) return forward_across_internet(package_details) routed_package = network_layer(delivered_frame) print(routed_package) ``` #### 传输层 (Transport Layer) 此层保障端到端之间可靠的通信,类似于物流公司所提供的全程跟踪服务,保证物品安全无误地送到客户手中。此外还支持多种类型的传输模式,比如TCP提供的面向连接的服务或是UDP那样的尽力而为之的方式[^2]。 ```python def transport_layer(route_information): """ 实现端到端可靠性机制或提供更高效但不可靠的消息交换选项。 参数: route_information : dict - 关键路由参数和其他上下文资料 返回: reliable_transfer_result / fast_unreliable_message : object - 结果取决于所选策略 """ if require_reliability(): establish_connection() transfer_strategy = create_tcp_session() else: transfer_strategy = use_udp_protocol() final_payload = apply_transport_policy(transfer_strategy, route_information) return execute_final_handover(final_payload) final_handover_status = transport_layer(routed_package) print(final_handover_status) ``` #### 会话层 (Session Layer) 会话层管理应用程序间的对话,包括创建、管理和终止交互流程。如果把整个邮寄过程看作一次完整的交易活动的话,那么这部分就涉及到如何启动这项业务直至结束为止的所有细节安排[^3]。 ```python def session_layer(handshake_confirmation): """ 控制两个实体之间的逻辑交流环节。 参数: handshake_confirmation : bool - 是否成功建立了初步联系 返回: ongoing_transaction_context : context manager - 提供了一个持续性的协作环境 """ with initiate_dialogue() as dialogue_channel: yield manage_conversation_flow(dialogue_channel) close_communication_when_done() ongoing_transaction = session_layer(final_handover_status) next(ongoing_transaction) ``` #### 表示层 (Presentation Layer) 表示层关注数据的表现形式及其含义,例如加密解密、压缩解压等功能。在这个比喻中,这就像是寄件人在打包之前先对重要文档进行保护措施,以便只有预期接收者才能读取其内容;同时也可能包含了某些格式化的工作使得对方更容易理解收到的东西。 ```python def presentation_layer(session_state): """ 对实际载荷做进一步加工处理以适应特定需求。 参数: session_state : generator - 当前正在进行中的事务状态迭代器 返回: processed_content : any - 处理完毕可供下一步骤使用的资源 """ while True: try: current_step = next(session_state) formatted_output = format_data(current_step['data']) secured_item = encrypt_if_needed(formatted_output) compressed_file = compress(secured_item) if should_compress() else secured_item yield {'formatted': formatted_output, 'secured': secured_item, 'compressed': compressed_file} except StopIteration: break processed_items = list(presentation_layer(ongoing_transaction)) for item in processed_items: print(item) ``` #### 应用层 (Application Layer) 最后的应用层直接面对最终用户的程序接口和服务,像电子邮件客户端、网页浏览器等软件。回到我们的例子当中,这就是指当包裹终于送达到指定地点之后,由专门人员通知收货人前来领取的过程。 ```python def application_layer(prepared_materials): """ 展示经过多级封装后的内容给终端用户查看。 参数: prepared_materials : iterable - 所有待呈现的对象集合 功能: 显示结果给用户界面或其他高层组件消费。 """ for material in prepared_materials: display_formatted_document(material.get('formatted')) notify_user_about_secure_contents(material.get('secured')) offer_option_to_extract_compressed_files(material.get('compressed')) application_layer(processed_items) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值