最近在做基于poscms系统的企业站仿站项目,这个系列用于总结项目中遇到的一些前端问题,至于poscms,待我摸透之后再总结...

进入正题吧,仿站,首先是用仿站小工具把要仿的模板站扒下来,有时候会出现意想不到的问题,导致扒下来

的源码不能用,那怎么办,自己写咯。

前两天的一个项目,模板站前端是jsp写的,并且是用easyui或者ext之类的类库写的,扒下来之后,页面不能完

全显示先不说,连源码都是乱成一团,思索再三,决定自己写前端代码,就当是练练手吧。下面总结其中几个个

人认为值得记录的知识点:

1.无论窗口宽度怎样改变,内容始终水平居中。

windows自带的画图工具我用得贼6,并且时常依靠画图工具来“P图”,233333333,题外话,题外话,砸门继续。。。

如你所见,wrap、inner都是block元素,比如div,其实我用的就是div,那么里面的内容随着body宽度改变时始终居中,

那么样式我是这样写的:

body{width:%;}
.wrap{width:%;}
.inner{width:800px;margin: auto;}

值得注意的是,当窗口宽度大于800px的时候,内容是会始终居中的,但是当窗口宽度小于800px时,.inner这个div多出的

长度就看不到了,就像是overflow:hidden,效果如下:

这是一个logo+nav,总长度(.inner的长度=logo占20%+nav占80%)为900px,当窗口小于900px就是以上效果,当大于900px

时,自然会是居中,不信请看:

两边不难看出,就是样式里所指的左右外边距了。

2.绝对定位元素的水平垂直居中

.inner {
width: 600px; height: 400px;
position: absolute; left: ; top: ; right: ; bottom: ;
margin: auto; /* 有了这个就自动居中了 */
}

这个是不需要wrap的,然后你可以结合最上面的图示自己想象一下,它直接相对于窗口或者有relative定位的父元素

上下左右居中。

3.margin百分比取值的问题

父元素高度400px,唯一一个子元素高度60%,左右居中用父元素的text-align:center实现,那么上下居中呢,

我开始是用margin-top:20%,讲道理,应该是可以的啊,(100%-60%)/2=20%,不该出错的啊,但是窗口改变宽度之后,

纳尼,居然不上下居中?!!!百度之后,才了解到,margin的百分比取值,在横向排版时(我们一般都是横向排版)是

取父元素的宽度来乘以百分比,在竖向排版时是取父元素的高度来乘以百分比。于是最后,只好乖乖用定值80px。

4.json实现省、市、区三级联动

其实这个三级联动,在之前已经有说过,只不过当时是用ajax从数据库取数据来填充select标签下的option子标签,

这次项目,由于对于poscms的级联应用不熟,就没有去用它的接口去数据库查数据,那么就想到了用json变量来存储所需

的省市区数据,道理都是相通的,具体方法可已自行百度,哎,算了吧,我直接贴个我参考的博客吧——>json三级联动

5.高德地图API

有个页面需要显示企业的地图地址,那我马上想到了之前用过的高德地图API,输入经纬度,即可显示指定地址。

博客园博客页面不支持写脚本(写完发布之后就立马被注释了),只好贴上显示高德地图的代码:

经度:<input id="lng" type="text" />纬度: <input id="lat" type="text" /> <br />
<button id="do">显示地址</button>
<div id="map" style="border: 1px solid; width: 800px; height: 250px;"></div>
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&amp;key=这个key是可以到高德开发者平台申请的,免费申请,所以,去吧皮卡丘"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script type="text/javascript">
var lng=$("#lng").val();
var lat=$("#lat").val();
$("#do").click(function(){
var map = new AMap.Map('map', {
resizeEnable: true,
zoom:,
center: [lng,lat]
});
//左下角比例尺
AMap.plugin('AMap.Scale',function(){
var scale = new AMap.Scale();
map.addControl(scale);
});
//右上角卫星视图
AMap.plugin('AMap.MapType',function(){
var maptype = new AMap.MapType();
map.addControl(maptype);
});
});
</script>

注意,这个div必须设置的是ID,class是不行的,最终你就能在页面中显示地图了,并且初始化的时候以你设置的经纬度为中心。

5.文件编码问题

对于扒下来的html、js文件,有时候会因为编码的问题,导致我们在稍作修改保存之后,会在浏览器上看的时候出现乱码的情况,

对于这个问题,有三个地方值得注意:

首先就是可能扒下来的html文件的头部设置了编码,诸如GBK、GB2312、UTF-8等;

代码编辑工具设置文件编码,这里以sublime为例,见下图;

事实上,就算注意了以上两点,还是有可能乱码,那么就来看一下第三点:

用记事本打开文件(html或者js),然后文件---另存为;

注意这个编码,保存的时候注意一下就好了。

基本上,做到以上三点中的编码统一,就不会出现乱码的现象了,至少我这样处理之后没有出现乱码的问题了。

poscms仿站知识点总结(一)的更多相关文章

  1. poscms仿站知识点总结(二)

    1.相同类型div添加不同class 遇到一个样式上的问题,模板页面有8个子项,样式都是一样,至于数据是可以用for循环来添加的,但是for循环的时候,每个div的 类名是无法及时更改的,但是模板页面 ...

  2. Zencart视频教程 Zencart模板制作教程视频 Zencart仿站教程资料

    Zen Cart是国外一个免费的.界面友好,开放式源码的购物车软件,是目前外贸行业使用最为广泛的网站程序.本仿站技术需要你有一定的html和css基础,易学易懂,一步一步地教你操作和使用Zen Car ...

  3. A:手把手教Wordpress仿站(基础)

    安装源码 需要服务器有php环境(PHP,Mysql,Apeach/Ngnax) 我用的主机宝(环境一键安装工具)   打开后台突然出现这种情况 Briefly unavailable for sch ...

  4. mac使用wget下载网站(仿站)

    wget -c -r -np -k -L -p http://www.xxxx.com 参考 wget的安装 http://blog.csdn.net/ssihc0/article/details/7 ...

  5. 原”zencart建站仿站俱乐部”现升级为”zencart 学院“!

    特别告示: 原”zencart建站仿站俱乐部”现升级为”zencart 学院“!

  6. dede仿站笔记

    仿站步骤查看是否为dedecms的方法,看引用路径src="/templets/default2012/images/toutiao.png" 0查看仿站编码,选择utf8或gbk ...

  7. [zencart教程]zencart外贸建站仿站交流俱乐部

    [zencart教程]zencart外贸建站仿站交流俱乐部 1.你想自主一天仿做一个精美的zencart 外贸网站; 2.你想自已自主定制精美的psd 图 zencart模板,并把它变成自定义精美 z ...

  8. 【教你zencart仿站 文章1至6教训 高清1280x900视频下载】[支持手机端]

    [教你zencart仿站 第1至6课 高清晰1280x900视频下载][支持移动端] 经过筹备, 我们的课件最终出来了- 我们 zencart联盟合伙人 项目推出的 在线yy同步演示zencart仿站 ...

  9. 5月30---6月2 DedeCMS以及动态仿站

    什么是DedeCMS 织梦内容管理系统(DedeCMS),是一个集内容发布.编辑.管理检索等于一体的网站管理系统(Web CMS),他拥有国外CMS众多特点之外,还结合中国用户的需要,对内容管理系统概 ...

随机推荐

  1. PHP获取与操作php.ini文件的几个函数示例

    php有一套设置和获取配置信息的函数,用于设置与修改相关参数信息.   1.ini_get()获取配置参数,ini_set()设置配置参数 <?php 2.ini_get_all()获取所有配置 ...

  2. java return redirect

    return “/user/new” 或 return “/user/edit” 如果new页面有下拉(举例)组件,在return之前如果没有准备select所需要的数据,则return到new的页面 ...

  3. iOS 多线程安全 与可变数组

    完全来自于iOS 多线程安全与可变字典 的学习 基本相同,举一反三 直接上样例代码 是我参照网上,根据当前业务需求改的. 其实好多人在这里喜欢用类别处理.我个人觉得用类别 极其容易和普通方法混淆,所以 ...

  4. java图像加密

    0 前言 为了保护服务器的图像数据,需要用一个图像加密算法来加密服务器的图像:一开始找了一种基于混沌的图像加密算法,效果还是很理想的,是把矩阵图像上的像素点进行上下左右的混乱:后来发现加密后图像会变大 ...

  5. SetWindowText与SetWindowTextW

    SetWindowTextW用于宽字符SetWindowText  根据定义的宏使用宽字符或者ansi 注意: _T 是自动进行 unicode/ansi版本匹配. 如 _T("aa&quo ...

  6. 禁止电脑登陆QQ聊天系统的四种方法

    一.使用防火墙禁止端口法 QQ使用的默认端口是 UDP 4000,使用防火墙将该端口关闭,那么别人就不能使用QQ了,当自己需要上网时只需开放该端口就可以了. 下面以我使用的“金山网镖6”进行说明,点击 ...

  7. 验证环境中的program为什么必须是automatic

    最近在项目中,发现验证环境中的顶层的program(一般将program作为验证环境的入口),都是automatic的. 其实Program默认是static的,那么为什么需要把验证环境做成autom ...

  8. 利用SSH协议在Windows下使用PuTTY连接Ubuntu

    利用SSH协议在Windows下使用PuTTY连接Ubuntu Ubuntu部分 首先我们要为Ubuntu配置一下环境,让它支持ssh服务,我们要做的其实也很简单,就一下两步: 安装OpenSSH软件 ...

  9. Python 面向对象的三大特性:封装,继承,多态

    # 面向对象的三大特性:封装,继承,多态 # 继承的影响:资源的继承,资源的使用,资源的覆盖,资源的累加 # 资源的继承,在Python中的继承是指能使用父类的资源,而不是说在子类也复制一份父类代码到 ...

  10. python标准库学习-SimpleHTTPServer

    这是一个专题 记录学习python标准库的笔记及心得 简单http服务 SimpleHTTPServer 使用 python -m SimpleHTTPServer 默认启动8000端口 源码: &q ...