HTML&&CSS学习笔记
语义化元素的使用
<header>
标签包括导航元素标签(<article>
标签是可复用的结构标签。里面通常包含标题元素。<footer>
标签用来标示页尾,页面底端可以包含有关版权信息。<aside>
标签通常表示侧边栏或者插入的内容。<section>
表示文档,内容和主题,通常与标题组合。
1.
响应式程序设计
- 设置窗口
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- 设置元素的最大宽度:
‘img,embed,object,video{max-width:100%;}’
- 设置按钮大小:手指的大小是40px的大小。所以按钮的理想大小是48px
- 媒体查询:
@media screen and (min-width: 1px) and (max-width: 2px)
(小文件,大量HTTP请求)
2.<link rel="stylesheet" media="screen and (min-width:500px)" href="style.css">
(大文件,少请求)
- 弹性框架:flexbox
- display:flex
- flex-wrap:wrap
- order:number(初始值是0,如果设为-1,则是第一个显示)
常见的响应模式
- 掉落列模型(Column Drop)
- 大体流动模型(Mostly Floid)
- 布局切换器
画布之外(利用javascript)
这里是用于切换 open 类的 JavaScript:
1234menu.addEventListener('click', function(e) {drawer.classList.toggle('open');e.stopPropagation();});汉堡菜单相关css
12345678910111213nav {width: 300px;position: absolute;/* This trasform moves the drawer off canvas. * /-webkit-transform: translate(-300px, 0);transform: translate(-300px, 0);/* Optionally, we animate the drawer. * /transition: transform 0.3s ease;}nav.open {-webkit-transform: translate(0, 0);transform: translate(0, 0);}
字体
- 每行的字符长度最好为:45-90个字符。网页上普遍是65个字符。
font-size:16px;line-height:1.2em;
- 为溢出的内容添加省略号
响应式图片
1.calc((100% - 10px)/3)
的使用.加号和减号两边都要有空格。详情 - 鲜为人知的css单位:
1.100vh
(viewport height):1vh代表1%的视图高度;
2.100vw
(viewpoint width):1vw代表1%的视图宽度;
3.100vmin
&100vmax
计算vh,vw中较大(小)的一个,把图片压缩为正方形; - PageSpeed Insights(检查图片大小是否最优)
- 最好的图片使用就是不使用——用文本、unicode字符集
- 图标字体
- 内嵌图片:
<img src="data:image/svg+xml;base64,[data]">
- SVG动画实例
- 社交软件的导航LOGO Zocial
完全响应式
- Srcset 与 Size 添加在HTML元素内。
Srcset格式为:Srcset="src.jpg 100w/1x,src.jpg 200w/2x"
Size格式:sizes="(max-width: 400px) 100vw, (min-width: 401px) 50vw"
图片元素
<picture>
:12345<picture><source media="(min-width:650px)"srcset="kitten-large.jpg"><source media="(min-width:450px)"srcset="kitten-medium.jpg"><img src="kitten-small.png" alt="Cute kitten"></picture>(注意载入的顺序)在不支持
<picture> <srcset>
这些标签的浏览器中可以用picturefill来实现.
- Srcset 与 Size 添加在HTML元素内。
CSS Reset
- 由于各个浏览器对css元素的解析效果不相同,这导致了不同客户使用不同浏览器的时候页面的解析不相同。所以css reset就是用来重置各个浏览器的默认值,保证网页解析到任何一个浏览器上都有相同的效果。
1.
CSS预处理
- “CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用。CSS 预处理器为 CSS 增加一些编程的特性,无需考虑浏览器的兼容性问题”
表格的使用
Name | Address | Occupation | Salary |
---|---|---|---|
Mario | 514 Mushroom Kingdom | Plumber | 49,150 Coins |
Luigi | 6 Banshee Boardwalk | Plumber | 45,115 Coins |
Peach | 123 Rainbow Road | Princess | 215,675 Coins |
Yoshi | 120 Yoshi Valley | Wool Sales | 67,980 Coins |
Bowser | 91 Bowser Castle | Real Estate Agent | 180,779 Coins |
相应式表格——具体见响应程序设计
小知识点的归纳整理
- 将div盒子居中:body 设置为
text-align:center
; div设置为margin:0 auto
; - 占位图片的使用:http://placehold.it/1000x350 (狗)http://placepuppy.it/1000/350
- Web Font 服务英文组合型的有google.com/fonts 、中文有justfont
- 语义化html更有实际意义
- line-height的应用:https://css-tricks.com/fun-line-height/
编写自动化图片压缩、优化工具
- ImageMagick
- GraphicsMagick
- Grunt:
- Grunt简介——安装(中文)
- Gunt使用入门
- 用 Grunt 生成不同分辨率的图片
- 用于生成多张图片的 grunt-responsive-images 插件
- 用于响应式图片工作流的 grunt-respimg 插件
- 事例代码详见文件夹/.Web/html/关于图片自动化…
设置一个LocalHost
首先,必须打开 IIS:
“开始”>“控制面板”>“程序”>“打开或关闭 Windows 功能”(Start>Control Panel>Programs>Turn Windows features on or off)此时会显示“Windows 功能”方框。加载可能需要一些时间。向下滚动并找到“Internet 信息服务”,确保已勾选该方框。“Internet 信息服务”上方是“Internet Information Services 可承载的 Web 核心”,同样勾选该方框。
第二,必须打开“Internet Information Services (IIS) 管理器”并配置 IIS
单击“开始”按钮,然后在搜索栏中键入 IIS单击“Internet Information Services (IIS) 管理器”将其打开在左侧的“连接”窗格中,单击小箭头以打开结构树,然后右键单击“站点”文件夹单击“添加网站”
为站点指定一个名称,然后添加网站所在文件夹的路径。
转至 IP 地址,然后单击下拉列表。找到 IP 地址(例如 192.168.0.92)。(将其记在某处。我把它作为注释放在 html 和 css 文件中)选择一个端口。建议不要使用端口 80,但任何其他端口都可以。我使用的是 90单击“确定”。
第三,设置网站文件夹的读取权限
右键单击保存网站的文件夹,然后单击“属性”。
转至“安全”选项卡,然后滚动查看组名或用户名并查找以下内容:
IUSR 和 IIS_IUSRS
如果它们在该处,请确保已选中“读取并执行(read & execute)”和“读取(read)”。如果它们在该处但未选中,请单击其中一项,然后单击“编辑”。选中“读取并执行”和“读取”对应的方框。单击“应用”,然后单击“确定”。如果它们不在该处,请依次单击“编辑(edit)”和“添加(add)”。此时将显示“选择用户或组(Select Users or Groups)”方框。
单击“高级(Advanced)”按钮,然后单击“立即查找(Find Now)”按钮。向下滚动,直至找到 IIS_IUSRS。单击该项,然后按“确定(OK)”两次。单击“应用(apply)”。对 IUSR 重复以上操作
要在本地主机上显示网站
打开 Chrome 并键入 IP 地址和端口,如下所示:
192.168.0.142:90 (或者你的端口号)
JavaScript基础
详情请看JavaScript文档