自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (1)
  • 收藏
  • 关注

原创 css选择器

选择器的作用就是选中css样式生效的范围。

2023-08-19 11:38:11 214

原创 px_em_rem

em/rem:用于做响应式页面,不过我更倾向于rem,因为em不同元素的参照物不一样(都是该元素父元素),所以在计算的时候不方便,相比之下rem就只有一个参照物(html元素),这样计算起来更清晰。像素(px):用于元素的边框或定位。

2023-08-19 11:37:27 150

原创 line-height

这几种设置方式对于当前元素没有太大区别,重要的是体现在继承方面,子元素在继承时对于前三种都是直接继承当前元素的line-height转换为px的大小,只有第四种是继承单纯数值,因此会发现使用前三种时当子元素设置font-size比较大的时候会出现行高不够的情况。因此一般使用单纯的数值,他会根据每个元素本身的字体大小进行单独的计算的。

2023-08-19 11:36:52 152

原创 css-grid使用

网格布局,flex是一维的,grid是二维的。和flex一样,grid的概念也有三个,一个是整体的容器,一个是格子,一个是格子中存放的元素(也就是grid子元素);[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PSARlw6i-1692416147621)(./images/grid.png)]

2023-08-19 11:36:22 813

原创 css-flex使用

指定弹性元素的收缩系数,也就是当父元素主轴方向无法容纳所有子元素(主轴方向,子元素flex-basis超过了父元素本身的大小),对子元素进行收缩时的单个子元素提供收缩空间的占比大小;首先按照没有指定弹性容器在侧轴方向上的长度的方法对弹性元素在侧轴方向进行空间分配,然后将弹性容器在侧轴方向上的剩余空间分配给不同主轴上的弹性元素。也就是说,整体上,弹性容器最终会被几条主轴和侧轴进行分割,每个分割的单元容纳一个弹性元素,但是这个分割出来的单元并不一定是弹性元素的大小;如果弹性容器指定了弹性容器侧轴方向上的长度。

2023-08-19 11:35:39 990

原创 css层叠关系

重置样式表就是先重置样式表,保证在每个浏览器中的显示效果一样,然后在这个默认的样式表基础上编写个人的样式表。重置样式表的意义就在于使重置样式表可以复用,不然每个项目的样式表都要考虑浏览器的默认样式表。是指多个选择器选中同一个标签,如果属性名相同属性不同则会产生冲突,如果发生冲突浏览器会触发自己的层叠机制。总体规则就是看选择器,选择器针对的范围越小,那么对应的选择器越特殊,那么久选择对应的声明冲突的选择器样式。就是计算样式的权重,权重大的就被选择;浏览器从上到下分析代码,后面的css覆盖前面的css样式。

2023-08-19 11:35:02 1212

原创 css样式表属性

line-height的概念。

2023-08-19 11:34:11 82

原创 css3新增属性

定义就是在一个元素中使用进行定义。

2023-08-19 11:33:32 2022

原创 css整体使用

整体逻辑就是一个container,然后内部容纳多个item,而属性方面有两个层次,一个是container的层次,用于描述整体排版;一个是item的层次,用于描述container存在剩余空间的时候每个item的放大缩小策略,以及一个排版布局的属性。还是现在的元素类别,一个元素,他都会区分为换行以及不换行的;而这个换行与不换行本质上由css决定,html的元素有些换行,有些不换行,究其原理就是css的不同默认设置。因此整体上的表现就是一个个的元素分层次的嵌套一个又一个的元素,最终嵌套了最基本的元素。

2023-08-19 11:32:56 546

原创 boxModel

boxModel – 盒模型。

2023-08-19 11:31:46 61

原创 html显示空白字符

默认情况下,元素显示内容会产生空白折叠,即对于空白字符,最终会将连续的空白字符显示为一个空格;

2023-08-19 11:28:40 254

原创 html文本元素

在pre元素中的内容会按照源代码格式显示在浏览器,不会出现空白折叠,通常用于显示代码;显示为代码,会空白折叠,与p标签相比就是有个字体上的差异,要避免空白折叠需要配合pre标签使用,或者直接加white-space属性。空白折叠:在源代码中的连续空白字符(空格、换行、制表符),在页面显示时,会被折叠为一个空格,不论标签内外。上面的红绿蓝要显示为指定颜色,就要使用css,而css需要依托于html标签,因此span就有了意义。表示含有特殊语义,阅读的时候会使用特殊的语调。表示重要的,不能忽略的内容。

2023-08-19 11:26:55 748

原创 比较杂的html元素

表示缩写。

2023-08-19 11:25:03 1419

原创 media元素

不同的浏览器对视频格式可能支持不同,一般就是mp4、webm,音频就是mp3;这样,浏览器从上到下检测source子元素是否可用,遇到可用的直接读取,后续不管。,然后才能进行视频控制,要先一开始就显示控件,可以加。视频格式要考虑浏览器读取问题,一般使用mp4。属性,这个属性只有controls值.多媒体有两种,一种是视频,一种是音频。

2023-08-19 10:42:35 51

原创 list元素

通常用于定义一些术语dl – definition list – 定义列表dt – definition title – 定义标题dd – definition description – 定义描述。

2023-08-19 10:41:05 1101

原创 img元素

div标签直接包裹img或iframe等标签的时候,div不设置高度,子标签设置高度,此时div标签会被撑开,同时div的高度会比子标签多3px或4px,这是由于子标签底部多了几个px的空白(基线到底线的距离),由于子标签是行内元素,display属性值为inline,类似于文本,需要把img或iframe标签设置为块级元素,即给img、iframe这些标签设置{display:block},就不会出现几像素的空白。同时,还可以定义整个的img图片链接,这样,在area覆盖没有覆盖的区域就跳转该链接。

2023-08-19 10:39:07 383

原创 html元素

共有四个属性,它们分别是scheme属性、 http-equiv 属性和 name 属性,在 HTML5 中,有一个新的 charset 属性,它使字符集的定义更加容易,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。没有css显示方式的编写,整个html一般就是两种,一种是块级元素,一种是行级元素,也就是说整个html元素会从上到下一个一个的进行显示,只不过有的元素会换行,而有的元素不会换行。因此,本质上,对于一个html文件,他的本质就是最基本的那些元素,如。

2023-08-19 10:38:19 1208

原创 form元素

表单元素,一系列元素,主要用于收集用户数据,需要用户进行填写;表单元素有个神奇的现象,那就是只要在表单元素中按下回车,那就会触发提交按钮。

2023-08-19 10:37:33 46

原创 a元素使用

超链接元素,href属性中指定的网址如果不是以https或者http开头的,那么都是一个相对网址,他的绝对路径目录是当前网址的绝对路径的目录部分href – hyper(超级的) reference(引用) – 跳转地址,他可以跳转如下几个位置:target – 表示跳转窗口位置。

2023-08-19 10:36:12 68

原创 QScrollArea不显示滚动条问题

【代码】QScrollArea不显示滚动条问题。

2023-03-04 15:58:07 649 1

原创 php调试配置

nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog。原因是php-fpm的配置文件php-fpm.conf中默认是关闭worker进程的错误输出,直接把他们重定向到/dev/null,所以我们在nginx的error log 和php-fpm的errorlog都看不到php的错误日志。

2023-02-22 11:45:17 640

原创 测试文档1

测试文档。

2023-02-13 09:25:18 111

原创 Qt自定义控件

步骤如下:1.qt中添加一个新类2.在要提升的界面对其进行提升选项的增加3.进行提升,然后对应的对象就可以直接作为一个新类使用4.直接编译运行即可新建项目fill:#333;color:#333;color:#333;fill:none;}文件新建文件或项目其他项目Qt4设计师自定义控件然后选定插件源码位置与插件项目名称。设置自定义控件列表控件类设置要创建的自定义控件类源文件这个一般不用管,直接使用创建控件类之后默认创建出来的文件即可。说明。

2022-11-26 21:28:54 2137

原创 VMware找不到父磁盘 父虚拟磁盘在子虚拟磁盘创建之后被修改过。父虚拟磁盘的内容 ID 与子虚拟磁盘中对应的父内容 ID 不匹配

这个一般是由于vmware快照导致的,vmware后面的快照基于前面的快照,当正在编辑快照数据,而之前的快照被修改了,就会出现这个问题(修改方式在处理方式中赘述);

2022-11-07 23:51:42 3851

原创 关于delete this

【代码】关于delete this。

2022-10-30 17:30:58 336

原创 error: undefined reference to ‘vtable for …’

这个报警就是子类没有实现父类的纯虚函数,奇怪的是自定义的虚函数都已经进行了定义,这个时候需要留意还有一种情况就是Qt中一个类继承了QObject,而且添加了Q_OBJECT宏,此时就可能出现上面的异常。

2022-10-29 15:52:22 3028 2

原创 linux c++ 获取可执行文件所在目录

根据pwd以及传入程序的argv进行简单的字符处理获取到可执行文件所在目录。

2022-10-23 12:14:51 1304 1

原创 一份好用的makefile

一份好用的makefile模板

2022-10-15 12:35:57 208 1

原创 fdfs_upload_file发送内存文件

在进行fdfs_upload_file的时候,如果是程序中需要实现这个功能,一种方法是使用子进程的逻辑直接调用该程序,这种处理方式需要一个临时文件,而且还需要进程的创建销毁。另外一种思路是直接参考fdfs_upload_file源码去直接上传文件,fdfs本身就提供了一种直接上传内存缓冲的接口,对。

2022-09-14 17:38:38 568 1

原创 c++ md5计算

【代码】c++ md5计算。

2022-09-12 20:51:05 892 1

原创 spawn-fcgi与fcgi

FCGI_Accept这个函数会基于FCGI_LISTENSOCK_FILENO监听套接字文件描述辅助进行accept,接着将accept到的连接设置到fcgi的输入输出文件描述符变量上,最后主流程就基于这个连接套接字进行与nginx服务器的socket数据通信。注意这里有个宏:FCGI_LISTENSOCK_FILENO,这个宏就是fcgi中监听套接字的文件描述符;函数创建监听套接字;

2022-09-12 11:29:32 913 1

原创 多线程操作文件

多线程下载首先想到的就是先由操作系统创建一个普通文件,然后申请磁盘空间,接着由多线程将待下载的数据插入到已存在的磁盘空间中,这样是不可行的,原因就在于文件的当前操作位置是唯一的值,无法多线程操作该值。因此无法进行多线程同时对一个文件进行写入的实现;因此就需要将这个文件在下载的时候拆为多个区间并以文件的形式暂存这些数据,然后同时下载,下载完毕后将各个区间对应的文件进行合并,最终处理为单个目标文件。合并的话就可以直接打开要合并的两个文件,直接read、write。相比较于单线程下载,他会更快。

2022-09-07 11:49:37 433 1

原创 log4cpp简单程序使用

【代码】log4cpp简单程序使用。

2022-09-06 14:39:39 195 1

原创 vmware文件比实际的大缩减办法

通过df -h查看系统使用存储情况,再查看存放虚拟机vmdk文件夹存储,发现两者相差巨大,网上的说法是:虚拟机上的Linux等系统认为.vmdk是一个硬盘,将文件删除后其可用空间可以恢复,重新利用;而对windos系统来说.vmdk是一个文件其变大后是不可能自动变小的。针对以上原理,已变大的.vmdk文件是无法减肥的,即使你将所有数据删除,此文件依占用windows的硬盘空间仍然不会改变。...

2022-08-13 10:58:16 1382 1

原创 git简单使用

分为本地仓库和远端仓库;workspace、index、repository,gitcommit就是向repository中添加了一个新的版本,然后reset的时候,--hard、--mixed、--soft分别对应恢复到目标版本的那个阶段。对于--soft,多个版本之间直接reset,index会将中间版本进行合并。数据状态的变化是修改操作导致的,不同版本之间存储的是修改的信息,通过这些修改的信息不断进行效果叠加最终成为了当前的状态;...

2022-07-30 18:21:50 328 1

原创 nginx共享内存

本篇主要针对nginx共享内存抽象逻辑进行描述,具体代码网络上较多,这里不再赘述。1.22.0首先,nginx共享内存整体架构分为两个模块,一个是共享内存模块,另外一个就是slab模块;前者就是直接基于系统创建共享内存块,后者是对创建出来的共享内存块内存空间的管理数据结构。共享内存模块是基于mmap机制进行实现的要创建一块共享内存,nginx需要使用ngx_shared_memory_add()接口,核心代码为:这个函数就是对ngx_cycle_t->shared_memory共享内存链表进行了一个注册操

2022-07-08 20:56:22 1205 3

原创 nginx的配置加载

nginx-1.22编写nginx模块的时候,有个数据结构,就是ngx_module_t数据结构,这个数据结构是整个模块的核心,本篇文章主要针对一般性的配置(http块配置)的整个加载过程,以及在整个加载配置过程中ngx_module_t中各个回调函数的意义。首先说一下总体的加载过程模型,就是从配置文件中逐个字符进行扫描,然后扫描到一组配置或者一个配置块就进行配置解析,再次过程中进入不同配置块,会切换解析状态,如一开始最外层的解析NGX_CORE_MODULE模块配置,然后遇到http块进入http块配置就

2022-07-05 15:59:17 1739 1

原创 markdown编写

# 图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BqQxJDBT-1653296595379)(./images/数据库连接.png "Magic Gardens")]# 公式$\frac{abc}{xyz}$​$$\frac{abc123}{xyz123}$$# 表格| 种类 | 意义 | 数据结构 || :---: | :---: | :---: || res | 结果集 | 二维表 || row | 行 | 一维表 || field

2022-05-23 17:05:00 99 1

原创 protobuf使用

protobuf、json、xml这三个都是一个序列化数据结构的格式,用于序列化和反序列化的一个数据载体。作为序列化和反序列化的数据载体,程序使用这种数据格式一般的过程是A进程对某个特定数据机构进行数据填充使用库函数基于特定数据结构进行序列化(protobuf、json、xml)A进程将序列化的数据发送给B进程B进程使用库函数将序列化数据反序列化提取到特定数据结构这样整个过程下来,本质上,上面这三种数据结构就是能够可以将结构化的数据在进程间传输。比较序列化(反序列化)效率(时间消耗):

2022-05-20 11:57:25 280 1

原创 log4cpp

log4cpplog4整体架构使用使用上的话参照整体架构进行理解,首先就是Category日志种类,然后不同种类可以绑定多种日志输出方式,然后这些日志输出方式可以指定需要的输出格式进行输出。一个程序可以创建多套root,参考categoryTest.cpplog4cpp日志格式化log4cpp::PatternLayout* pLayout2 = new log4cpp::PatternLayout();pLayout2->setConversionPattern("%d: %p %

2022-05-18 19:28:40 219 1

Qt4.8.1使用软键盘

qt版本4.8.1 直接将三个头文件引用,然后将.so添加,在main函数位置使用Qapplication的替换为keyApplication即可;目前可以针对界面中QlineEdit/QSpinBox/QDoubleSpinBox三种类型弹出软件盘实现,可实现英文大小写切换和大多特殊字符输入。

2019-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除