2020-08-10 html的优雅html结构 + css的css阻塞 + JS的cookie的中文值 + 软技能的dpr和dpi

2020-08-10 题目来源:http://www.h-camel.com/index.html

[html] 怎样写出优雅的HTML结构?

1.不同类型文件进行文件夹分类,css js img 等等

2.避免重复代码,js代码和css 代码分别写到单独文件中,然后再htm中引入,注意引入的先后顺序。就是结构层、表现层、行为层拆分。

3.代码结构接近视觉顺序,块级元素另起一行

基本的代码结构格式调整,编辑器已经帮我们实现了。

[css] 什么情况下会出现css阻塞?

1.CSS阻塞:当css后面跟着嵌入的js的时候,该css不会阻塞后面资源的下载,但会阻塞执行。需要把嵌入js放到css前面就不会阻塞了。

根本原因:浏览器会维持html中css和js的顺序,样式表必须再嵌入的js执行前先加载、解析完,而嵌入的js会阻塞后面的资源加载,表现出来就是css阻塞。

2.JS阻塞:嵌入js会阻塞所有内容的呈现,而外部的js阻塞后面内容的显示。

所以,将脚本放在底部。<link>还是放在head中,用以保证在js加载前,能加载出正常显示的页面。<script>标签放在</body>前

参考文章:https://www.cnblogs.com/bibiafa/p/9364986.html

[js] cookie的值可以设置为中文吗?为什么?如果可以怎么设置?

cookie设置中文会报错,UnicodeEncodeError: 'latin-1' codec can't encode character '\u90d1' in position 288: ordinal not in range(256),中文不能通过Latin-1编码;

解决: 借助utf-8编码

设置cookie:
newuser = username.encode('utf-8').decode('latin-1')
response.set_cookie('uname',newuser)

获取cookie:
if request.COOKIES.get('uname'){
    context['uname'] = request.COOKIES['uname'].encode('latin-1').decode('utf-8')
}

[软技能] 请解释下dpr和dpi

1.dpi每英寸像素值,1 inch = 25.41mm。 A4纸张的尺寸是210×297mm,在96dpi标准下的分辨率是794×1123

2.dpr设备像素比,设备像素比(dpr) = 设备像素(分辨率)/设备独立像素(屏幕尺寸)

布局视窗:屏幕大小

视觉视窗:为了解决PC端网站在移动端显示不佳,布局视窗比设备屏幕宽度宽,一般为980

<meta name="viewport" content="width:device-width, initial-scale=1.0, maximum=1.0, minimum=1.0, user-scalable=no">

这行代码把视觉视窗大小设置成和布局视窗大小相等,这样我们在代码设置css像素时,设置的跟渲染出来效果也是一样。

猜你喜欢

转载自blog.csdn.net/vampire10086/article/details/108449494