css-知识点(学习笔记)

article/2025/9/26 16:55:23

一、鼠标悬停样式
hover伪类基础用法
在前端学习的初期,想必大家用的很多的属性之一就有hover吧,hover伪类元素使用的三种情况
1、 hover用于父子元素
父子元素直接在父元素的id或者class或者标签名后紧接着:hover 然后空格子元素的名字就可以了。

2、 hover用于兄弟元素是当前元素的相邻元素
但是兄弟元素要注意在html里前面的兄弟元素放在后面兄弟元素的前面。而且hover后面加上“+”。否则不会有变化.
<div class="borther1"></div>
<div class="borther2"></div>
.borther1:hover+.borther2 {}

3、hover用于兄弟元素不是当前元素的邻接元素
比如下面的例子,borther1和borther3不是邻接元素,此时就用~符号

<div class="borther1"></div>
<div class="borther2"></div>
<div class="borther3"></div>
.borther1:hover~.borther3 {}
二、图片自适应容器问题
1、img标签的方式
我们想到是,把width、height设置为100%,
 .tu {width: 300px;height: 200px;border: 1px solid black;}.tu img {width: 100%;height: 100%;}

在这里插入图片描述
可以看出图片明显的被拉宽的,虽然符合了自适应的要求,但是图片失真了,这种图片比容器小的情况强行将图片自适应的话图片就失真。这时给图片一个max-height和max-width,此属性会阻碍height属性的设置值变得比max-height更大,当使用max-height设置给定元素的最大高度,如果height属性的高度比该属性设置的高度还大,则height属性会失效,
一般将width:100% 和max-width搭配使用,width是参照父盒子的大小,max-width是限定图片自身的大小,可以缩小但是不可以放大

2、背景图片background

通过background-size:cover/contain或者是具体的百分比去设置图片在容器中所占比例的大小。

三、3D翻转不停闪的问题
1)将旋转图片的背面隐藏:backface-visibility:hidden;
2)或者给背面盒子添加一个1px的z轴距离 :translateZ(1px);

在这里插入图片描述

四、fixed固定定位
1)加了固定定位的盒子要给宽度,固定定位是跟父盒子没有关系的,是以浏览器为准的
2)flexed 设置偏移量的问题
      2.1 在浏览器的可视区域只设置一个偏移量是可以的,一般固定在一个地方就设置两个偏移量
      2.2如果没在可视区域一个偏移量是不够的

五、行内元素、块元素居中方式
5.1、行内元素水平居中:
  • text-align:center;
  • flex+justify-content ;

5.2、块元素水平居中:

  • 绝对定位+translate
  • flex+margin
  • margin:0 auto;
  • 子盒子浮动的情况下 父盒子必须添加:width:fit-content;和 maigin:0 auto;

5.2、浮动元素水平居中:

  • 对于定宽的浮动元素,通过子元素设置relative + 负margin
  • 对于不定宽的浮动元素,父子容器都用相对定位
    通用方法(不管是定宽还是不定宽):flex布局

5.3、行内元素垂直居中:

  • flex
  • 行高等于父盒子的高度
  • 利用表布局(table)display:table;(将父盒子转成表格的方式在将里面的内容居中)
    利用表布局的vertical-align: middle可以实现子元素的垂直居中。(都写在父盒子里面)

5.3、块元素垂直居中:

  • 使用absolute+负margin(已知高度宽度)
    通过绝对定位元素距离顶部50%,并设置margin-top向上偏移元素高度的一半,就可以实现了。

  • 使用absolute+transform
    当垂直居中的元素的高度和宽度未知时,可以借助CSS3中的transform属性向Y轴反向偏移50%的方法实现垂直居中。但是部分浏览器存在兼容性的问题。

  • 使用flex+align-items
    通过设置flex布局中的属性align-items,使子元素垂直居中。

  • 使用table-cell+vertical-align: middle 添加在父盒子里面
    通过将父元素转化为一个表格单元格显示(类似 和 ),再通过设置 vertical-align属性,使表格单元格内容垂直居中。

    六、三栏布局

知识点:

margin-left:-100%

是对象向左移动一段距离,这段距离等于父亲的内容宽度,浮动到前面元素的最左边。
圣杯布局和双飞翼布局实现的效果一样,但是在解决中间部分被挡住的问题,采取解决的方法不一样,圣杯布局是在父元素上设置了padding-left和padding-right,在给左右两边的内容设置position为relative,通过左移和右移来使得左右两边的内容得以很好的展现,而双飞翼则是在center这个div中再加了一个div来放置内容,在给这个新的div设置margin-left和margin-right 。

————————————————
版权声明:本文为CSDN博主「@Demi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38128179/article/details/86542447

6.1、双飞翼布局:左右盒子固定 中间盒子自适应
举例:
定高200px,左右宽度为200px,中间自适应
在这里插入图片描述

html

 <div class="box"><div class="box1">左边</div><div class="box3">右边</div><div class="box2">中间</div></div>
      * {padding: 0;margin: 0;}/* 清除浮动*/.box {overflow: hidden;}.box1 {text-align: center;list-style: 600px;float: left;width: 200px;height: 200px;background-color: pink;}.box2 {height: 200px;background-color: plum;margin-right: 200px;margin-left: 200px;}.box3 {text-align: center;list-style: 200px;float: right;width: 200px;height: 200px;background-color: pink;}

6.2、圣杯布局: 要求中间区域优先渲染,左右区块给定宽,中间区块自适应;浮动和定位都用到
html
在这里插入图片描述

<body><div class="box"><div class="box2">中间</div><div class="box1">左边</div><div class="box3">右边</div></div>
</body>

css

  * {padding: 0;margin: 0;box-sizing: border-box;}.box {width: 100%;margin: 0 auto;padding: 0 200px 0 200px;overflow: hidden;}.box2 {width: 100%;position: relative;float: left;height: 100px;background-color: pink;}.box1 {position: relative;float: left;height: 100px;width: 200px;background-color: red;margin-left: -100%;left: -200px;}.box3 {position: relative;float: left;height: 100px;width: 200px;background-color: red;margin-left: -200px;right: -200px;}

http://chatgpt.dhexx.cn/article/e9WuDq02.shtml

相关文章

RPC原理及其调用过程

RPC原理及其调用过程 远程过程调用&#xff0c;简称为RPC&#xff0c;是一个计算机通信协议&#xff0c;它允许运行于一台计算机的程序调用另一台计算机的子程序&#xff0c;而无需额外地为这个交互作用编程。 RPC与传统的HTTP对比 优点&#xff1a; 1. 传输效率高(二进制传输…

用简单的方式去描述RPC原理

接下来我们就讲RPC&#xff1a;远程过程调用。其实RPC仅仅是一个概念&#xff0c;RPC没有协议没有框架&#xff0c;平时我们说的RPC框架其实是简称&#xff0c;很多人被带偏了&#xff0c;以为RPC是一个协议或者是框架&#xff0c;所以你以后如果听到RPC框架&#xff0c;你要立…

RPC核心原理是什么?以及常用技术有哪些?

前面一篇文章有提到过RPC&#xff0c;那么RPC是什么呢&#xff1f; RPC&#xff08;Remote Procedure Call&#xff09;&#xff0c;代表远程过程调用&#xff0c;通过网络通信调用不同的服务&#xff0c;共同支撑一个软件系统&#xff0c;微服务实现的基石技术。使用RPC可以解…

RPC框架原理简介

什么是RPC框架&#xff1f; RPC&#xff0c;全称为Remote Procedure Call&#xff0c;即远程过程调用&#xff0c;是一种计算机通信协议。 比如现在有两台机器&#xff1a;A机器和B机器&#xff0c;并且分别部署了应用A和应用B。假设此时位于A机器上的A应用想要调用位于B机器上…

RPC通信原理

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、RPC是什么&#xff1f;二、RPC原理总…

RPC框架面试总结-RPC原理及实现

一、什么是RPC RPC是远程调用过程的简写&#xff0c;是一个协议&#xff0c;处于网络通信协议的第五层&#xff1a;会话层&#xff0c;其下就是TCP/IP协议&#xff0c;在建立在其基础上的通信会话协议。RPC定义了交互的模式&#xff0c;而应用程序使用这些模式&#xff0c;来访…

RPC原理与FastRPC实现

0. 起因 最近看文档&#xff0c;发现一些组件是通过FastRPC来进行沟通的&#xff0c;并且偶尔看到某些场景下在FastRPC上的时间消耗好像也蛮可观&#xff0c;恰好FastRPC是开源的&#xff0c;因此决定看看FastRPC具体的实现。 1. RPC简介 当初在学Java的时候&#xff0c;初遇…

RPC原理详解

转自&#xff1a;http://www.cnblogs.com/metoy/p/4321311.html RPC 功能目标 RPC 的主要功能目标是让构建分布式计算&#xff08;应用&#xff09;更容易&#xff0c;在提供强大的远程调用能力时不损失本地调用的语义简洁性。 为实现该目标&#xff0c;RPC 框架需提供一种透…

RPC原理介绍

面向服务架构SOA 任何大型网站的发展都伴随着网站架构的演进。网站架构一般最初是单应用设计&#xff0c;然后逐渐经历面向对象设计和模块化设计的架构&#xff0c;最终发展到面向服务的服务化架构。在单应用设计架构体系当中&#xff0c;我们关注的是方法和实体&#xff1b;而…

RPC 原理与实现

文章目录 1. RPC 简介1.1 什么是RPCReference: LPC & IPC (本地过程调用) 1.2 为什么要用RPC1.2.1 系统架构的演进1.2.2 Web 服务的技术结构1.2.2 SOAP &#xff08; Simple Object Access Protocol&#xff09;1.2.2 REST&#xff08;Representational State Transfort&am…

RPC核心原理

了解RPC RPC全称Remote Procedure Call,即远程过程调用.其中远程需要跨机器,跨机器需要可靠的网络编程技术实现,无论是Java原生的网络编程模型还是Netty都会让代码中出现大量与业务无关的网络编程代码,RPC技术则是为了解决这个问题的.它帮助我们屏蔽网络编程的细节,实现调用远…

RPC原理(1)之深入RPC原理简介

一、RPC调用原理图 下面这张图是我们微服务一次Http调用请求图&#xff1a; 首先在请求的过程中我们知道是有三次握手&#xff0c;四次挥手的流程&#xff0c;具体流程如下&#xff1a; 1.浏览器请求服务器(订单服务)&#xff0c;请求建立连接&#xff0c;首先客户端向服务器…

RPC原理简述

RPC&#xff08;Remote Procedure Call&#xff09;&#xff1a;远程过程调用&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的思想。 RPC 是一种技术思想而非一种规范或协议&#xff0c;常见 RPC 技术和框架有&#xff1a; 应…

RPC核心原理详解

什么是RPC&#xff1f; RPC的全称是Remote Procedure Call&#xff0c;即远程过程调用。简单解读字面上的意思&#xff0c;远程肯定是指要跨机器而非本机&#xff0c;所以需要用到网络编程才能实现&#xff0c;但是不是只要通过网络通信访问到另一台机器的应用程序&#xff0c…

RPC原理

RPC就是远程过程调用&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的思想。 原理 一个完整的RPC主要包括三部分: 服务注册中心&#xff08;Registry&#xff09;&#xff0c;负责将本地服务发布成远程服务&#xff0c;管理远…

从零开始实现RPC框架 - RPC原理及实现

RPC概述 RPC(Remote Procedure Call)即远程过程调用&#xff0c;允许一台计算机调用另一台计算机上的程序得到结果&#xff0c;而代码中不需要做额外的编程&#xff0c;就像在本地调用一样。 现在互联网应用的量级越来越大&#xff0c;单台计算机的能力有限&#xff0c;需要借…

RPC介绍与原理

RPC介绍与原理 RPC介绍 RPC是什么 RPC&#xff08;Remote Procedure Call&#xff09;是一种进程间通信方式。简单地说就是能使应用像调用本地方法一样的调用远程的过程或服务&#xff0c;可以应用在分布式服务、分布式计算、远程服务调用等许多场景。说起 RPC 大家并不陌生…

RPC理论原理

目录 集群和分布式RPC通信原理 集群和分布式 集群&#xff1a;每一台服务器独立运行一个工程的所有模块。 分布式&#xff1a;一个工程拆分了很多模块&#xff0c;每一个模块独立部署运行在一个服务器主机上&#xff0c;所有服务器协同工作共同提供服务&#xff0c;每一台服务…

一文搞懂RPC原理

了解RPC&#xff1a; RPC&#xff08;Remote Procedure Call Protocol&#xff09;——远程过程调用协议&#xff1a; 一般用于实现部署在不同机器上的系统之间的方法调用&#xff0c;使得程序能够像访问本地资源一样&#xff0c;通过网络传输去访问远端系统资源。 描述&…

rpc简介及原理

1.RPC简介及原理介绍 RPC技术内部原理是通过两种技术的组合来实现的&#xff1a;本地方法调用 和 网络通信技术。 1.1 RPC简介 在上述本地过程调用的例子中&#xff0c;我们是在一台计算机上执行了计算机上的程序&#xff0c;完成调用。随着计算机技术的发展和需求场景的变化…