- 博客(90)
- 资源 (8)
- 收藏
- 关注
原创 HTML&HTML5革命:构建现代网页的终极指南 - 0. 课程目录设计
这套课程涵盖了HTML几乎所有的重要内容,包括基本结构、常用元素、属性、高级配置(如SEO、PWA、浏览器兼容性设置等),并涉及实际案例(如个人博客和企业官网)。这套课程从基础到高级全面覆盖了HTML的方方面面,同时注重实践案例和前沿技术,适合不同层次的学员学习,具备极强的系统性和实用性,为学员打下扎实的前端开发基础。从基础的标题标签、内容划分元素,到细节化的双向文本覆盖、自动大写、拼写检查、虚拟键盘优化等属性,课程内容精细,几乎覆盖了HTML的所有角落。同时,课程编号和主题划分使学习路径清晰。
2025-01-08 11:37:21
1123
2
原创 如何创建一篇好的文章?——写作的艺术与科学
古人说,“文以载道”,现代社会则用“内容为王”来形容优质文章的影响力。无论是经典名著还是网络热文,它们都有一个共通点:能直击读者的内心,激发情感或行动。一篇好的文章,不仅仅是知识的传递,更是一场思想与灵魂的共鸣。那么,如何才能创作出一篇让人过目难忘的文章?本文将从灵感的捕捉、结构的搭建、表达的打磨到具体案例与实操,全面解析写作的秘诀。
2024-12-03 14:11:14
743
原创 HTML&HTML5革命:构建现代网页的终极指南 - 4. 使用元素
理解并掌握 HTML 元素,是构建现代网页的第一步,接下来的课程中,我们将深入学习各种元素的具体用法。到目前为止,我们已经了解了 HTML 和 HTML5 的基础概念,并且选择了适合自己的开发工具。掌握 HTML 元素是构建网页的基础,理解它的结构和规则,是开发者入门的第一步。简单来说,元素是 HTML 的核心,通过它们,我们可以将网页内容组织得井井有条。为了代码的规范性:小写标签更清晰易读,是开发的行业标准。今天,我们将迈出实际开发的第一步,学习。
2024-12-01 20:05:36
384
原创 HTML&HTML5革命:构建现代网页的终极指南 - 3. 开发工具选择
拥有丰富的扩展插件,可以根据需求自定义功能,比如 HTML、CSS 和 JavaScript 的代码提示、格式化等。是由 JetBrains 公司开发的前端开发工具,是一款专为 Web 开发设计的 IDE(集成开发环境)。前两节课我们学习了 HTML 的基础概念和 HTML5 的主要特性,为接下来的实际开发奠定了理论基础。选择一款适合自己的工具,就像找到趁手的武器,让整个开发过程更加顺畅。工具是开发的好帮手,但最终影响开发效果的还是你的学习和实践。:强大的代码自动补全和错误提示功能,显著提高开发效率。
2024-12-01 19:10:35
569
原创 HTML&HTML5革命:构建现代网页的终极指南 - 2. HTML&HTML5&H5的区别
HTML5 新增了 video 和 audio 标签,可以直接嵌入视频和音频,无需依赖第三方插件,比如 Flash。在中国,“H5” 通常是 HTML5 的简称,但它不仅仅指代技术本身,而是更广泛的应用。可以说,H5 是 HTML5 技术的具体应用,更贴近用户的实际需求,尤其是在移动端。,尤其是对手机和平板的支持,适配不同分辨率和浏览器,是响应式设计的关键工具。相较于旧版本的HTML,HTML5不仅是一次升级,更是网页技术的一次革命。我们常说的 H5,指的是基于 HTML5 技术开发的。
2024-12-01 19:03:54
1706
原创 HTML&HTML5革命:构建现代网页的终极指南 - 1. HTML学前必知
总结来说,HTML、CSS 和 JavaScript 是每个前端开发者的必修课,也是构建现代网页的三大核心技术。比如我们每天浏览的百度首页、淘宝商城,甚至是你手中的社交媒体,背后都有前端开发人员的辛勤付出。它是网页开发的基石,也是所有网页的灵魂所在。今天是第一节课,我们会从最基础的概念讲起,为后续学习打下坚实的基础。前端是链接用户与技术的桥梁,是一切优秀用户体验的起点。,无论是想转行还是提升竞争力,这套课程都是你的起点。对零基础小白来说,HTML是进入前端开发的第一步。那么,我们的这套课程又是什么呢?
2024-11-30 13:33:40
289
转载 Flutter教程-自定义无限滚动轮播器infinity_slider-增加多轮播嵌套联动功能(二)
简介上篇文章我们通过组合PageView方式,实现一个自定义的infinity_slider小部件,这篇文章我们实现多个infinity_slider嵌套实现滑动互联的效果目标多个infinity_slider嵌套实现滑动互联的效果完整代码pub: https://pub.dev/packages/infinity_slidergithub: https://github.c...
2019-09-03 00:23:27
696
转载 Flutter教程-自定义无限滚动轮播器infinity_slider
转载于 https://juejin.im/post/5d6c973ae51d45620064bb92简介通过组合PageView方式,实现一个自定义的infinity_slider小部件,完整代码 https://github.com/herghost000/flutter_infinity_slider支持无限滚动支持定时器滚动支持曲线滚动步骤1)创建一个有状态的小...
2019-09-03 00:21:16
1116
原创 vue-cli 解决通过js import css无法自动加上浏览器前缀
1.找到build/utils.js 2.在exports.cssLoaders内添加如下代码const postcssLoader = { loader: 'postcss-loader', options: { sourceMap: options.sourceMap }}function generateLoaders (loader, ...
2018-05-10 09:57:22
2745
原创 《AngularJs》$filter 自定义过滤器
使用内置过滤器直接查手册就行了下面为自定义过滤器:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script src="./js/angular.min.js"></script></head><body ng-app="myApp">
2016-10-29 18:55:34
2440
原创 《AngularJs》$interpolate插值字符串
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script src="./js/angular.min.js"></script></head><body ng-app="myApp"> <div ng-controller="MyCo
2016-10-29 18:33:50
1051
原创 《AngularJs》解析表达式服务$parse
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script src="./js/angular.min.js"></script></head><body ng-app="myApp"> <div ng-controller="MyCo
2016-10-29 18:23:57
1499
原创 实现多态
<?phpinterface A{ public function test();}class B implements A{ public function test(){ echo 'b'; }}class C implements A{ public function test(){ echo 'c'; }}
2016-10-16 06:33:18
438
原创 魔术方法:__invoke
当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。<?phpclass A{ function __invoke($x) { echo $x; }}$a = new A();$a('aaa');//结果:aaa?>
2016-10-16 05:47:00
531
原创 魔术方法:__set、__get
<?phpclass A{ //用__set、__get魔术方法,字段必须为私有属性 private $name = "herghost"; public function display(){ echo "displayA"; } function __set($name,$value){ $this->$name = $v
2016-10-16 05:26:44
632
原创 魔术方法:__call
__call() 方法用于监视错误的方法调用。 __call()(Method overloading) 为了避免当调用的方法不存在时产生错误,可以使用 __call() 方法来避免。该方法在调用的方法不存在时会自动调用,程序仍会继续执行下去。 语法:function __call(string $function_name, array $arguments){ ......}该
2016-10-16 05:13:07
1106
原创 魔术方法:__sleep、__wakeup使用
class myClass{ public $myContent; function outMycontent(){ //dosomething }}$content = new myClass();echo serialize($content);输出的结果是O:7:"myClass":1:{s:9:"myContent";N;}它竟然把一个类的给序
2016-10-16 05:07:45
1786
原创 数组的常用操作
数组的操作 1:反转var arr = [1,3,2,9,5,6,50,20];arr.reverse();console.log(arr);结果:[20, 50, 6, 5, 9, 2, 3, 1] 2:排序var arr = [1,3,2,9,5,6,50,20];arr.sort(function(v1,v2){ if(v1<v2){ return
2016-10-16 01:08:33
409
原创 《信号与系统》01 信号运算
能量信号与功率信号将f(t)信号加载1R电阻上,则瞬时功率为|f(t)|^2,在(负无穷,正无穷)上的能量和平均功率定义为: 信号的能量E(W) 信号的功率P 若f(t)能量E有界,即E<无穷,则P=0; 若f(t)功率P有界,即P<无穷,则E=无穷;信号的运算信号的反转信号的平移如下图向右平
2016-07-08 04:50:06
1806
原创 Cookie存储
完整的cookie形式:document.cookie = “user=xxx;expires=失效时间;path=访问路径;domain=访问域名;secure=安全https通信”//保存cookie,并显示.document.cookie = "user=" + encodeURIComponent("粒");alert(decodeURIComponent(document.cookie
2016-06-07 03:13:01
552
原创 《Linux驱动》iTop4412开发板LCD驱动 详细分析 (三)
接下来我们来详解介绍probe中的函数:第一个函数: s3cfb_set_lcd_info(fbdev[i]);1.该函数源码如下:/*该函数在s3cfb_wa101s.c 中*//* name should be fixed as 's3cfb_set_lcd_info' */void s3cfb_set_lcd_info(struct s3cfb_global *ctrl){ s
2016-05-20 14:34:06
7394
原创 《Linux驱动》iTop4412开发板LCD驱动 详细分析 (二)
由上图可以看出 lcd的应用层 通过 内核的fbmem接口 再调用驱动xxxfb.c的内容 而fbmem接口是内核提供的,所有驱动设计人员主要的任务就是定义一个fb_info 结构体(该结构由内核提供),然后填充结构体中的内容做好相应的初始化后,提交给内核就可以了。 ———————————- 首先驱动文件在: 在kernel/drivers/video/samsung/目录下
2016-05-20 08:53:42
1963
1
原创 《Linux驱动》iTop4412开发板LCD驱动 详细分析 (一)
在kernel中有device和driver两个描述. 一.先看device 在palt-s5p/dev-fimd-s5p.c 定义了一个 struct platform_device s3c_device_fb 平台设备#ifdef CONFIG_FB_S5P // 选择开关static struct resource s3cfb_resource[] = { [
2016-05-20 08:34:58
2513
原创 《Linux驱动》分层分离
led_drv#include <linux/module.h>#include <linux/compat.h>#include <linux/types.h>#include <linux/errno.h>#include <linux/smp_lock.h>#include <linux/kernel.h>#include <linux/major.h>#include <lin
2016-05-19 17:36:22
1152
原创 《Linux驱动》输入子系统
#include <linux/module.h>#include <linux/init.h>#include <linux/fs.h>#include <linux/interrupt.h>#include <linux/irq.h>#include <linux/sched.h>#include <linux/pm.h>#include <linux/sysctl.h>#incl
2016-05-19 17:28:08
848
原创 《Windows API》目录相关操作
创建目录LPCTSTR dirPath = TEXT("c:\\herghost"); if (!CreateDirectory(dirPath, NULL)) { MessageBox(TEXT("目录已存在"),TEXT("Info"),MB_OK); return; }获取当前目录WCHAR currentDirectory[MAX_PATH];
2016-05-19 11:23:32
643
原创 《Windows API》文件的复制
#include<Windows.h>#include<stdio.h>#include<stdlib.h>#define BUFFER_SIZE 1024int main(int argc,LPTSTR argv[]) { handle_t hRead, hWrite; DWORD readLength, writeLength; CHAR buffer[BUFFER_
2016-05-17 17:33:46
1788
原创 《Windows API》遍历卷
#include<Windows.h>#include<stdio.h>#include<stdlib.h>int main() { CHAR szLogicalDriveStrings[1024]; PCHAR p; ZeroMemory(szLogicalDriveStrings, 1024); GetLogicalDriveStrings(1023, szLo
2016-05-17 10:40:53
588
原创 《Windows API》多字节字符串转宽字符
#include<Windows.h>#include<stdio.h>#include<stdlib.h>#include<locale.h>//多字节转宽字符int main() { DWORD sizeStr; setlocale(LC_ALL, "");//配置地域化信息 char str[] = "多字符";//多字节字符串 sizeStr = Mul
2016-05-16 17:53:21
1027
原创 《Windows API》使用对话框资源创建窗口
1.资源文件中右键-》添加-》资源.选择新建对话框.#include<Windows.h>#include "resource.h"LRESULT CALLBACK MainWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstace,HINSTANCE hPre
2016-05-16 16:03:39
3877
原创 《Windows API》创建窗口
#include<Windows.h>HINSTANCE hIns;LRESULT CALLBACK MainWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstace,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCm
2016-05-16 14:56:35
4810
原创 《Windows API》创建文件写入系统目录路径
UINT WINAPI GetSystemDirectory( _Out_ LPTSTR lpBuffer, _In_ UINT uSize);#include<Windows.h>#include<stdio.h>#include<stdlib.h>int main() { HANDLE hFile; TCHAR buffer[MAX_PATH]; DW
2016-05-16 11:34:25
1587
原创 《Windows API》获取文件属性数据
typedef struct _WIN32_FILE_ATTRIBUTE_DATA { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSi
2016-05-16 10:44:19
4790
原创 《Windows API》读取文件
ReadFileBOOL WINAPI ReadFile( _In_ HANDLE hFile, _Out_ LPVOID lpBuffer, _In_ DWORD nNumberOfBytesToRead, _Out_opt_ LPDWORD lpNumberOfBytesRead, _
2016-05-15 22:50:48
1116
原创 《Linux驱动》中断
/*以后写驱动可以讲头文件一股脑的加载代码前面*/#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <mach/gpio.h>#include <plat/gpio-cfg.h>#include <linux/miscdevice.
2016-05-15 00:30:59
565
原创 《Linux驱动》创建字符类设备节点
/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/init.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*/#include <linux/module.h>/*定义module_param module_param_array的头文件*/#include <linux/
2016-05-13 15:19:22
748
原创 《Linux驱动》注册字符类设备
/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/init.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*/#include <linux/module.h>/*定义module_param module_param_array的头文件*/#include <linux/
2016-05-13 14:51:43
598
原创 《Linux驱动》动态申请字符设备号
#include <linux/init.h>/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/module.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*//*定义module_param module_param_array的头文件*/#include <linux/m
2016-05-13 01:44:35
689
原创 《Linux驱动》GPIO配置并操作Led
驱动代码:#include <linux/init.h>#include <linux/module.h>/*驱动注册的头文件,包含驱动的结构体和注册和卸载的函数*/#include <linux/platform_device.h>/*注册杂项设备头文件*/#include <linux/miscdevice.h>/*注册设备节点的文件结构体*/#include <linux/fs.h
2016-05-12 17:02:14
2763
原创 《Linux驱动》混杂设备与设备节点
#include <linux/init.h>#include <linux/module.h>/*驱动注册的头文件,包含驱动的结构体和注册和卸载的函数*/#include <linux/platform_device.h>/*注册杂项设备头文件*/#include <linux/miscdevice.h>/*注册设备节点的文件结构体*/#include <linux/fs.h>#def
2016-05-12 12:56:03
1242
51系列单片机设计实例
2014-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人