jDapp项目收获

本文分享了jDapp项目的开发经验,重点讨论了CSS和JS的应用。在CSS方面,涉及reset.css、布局设计、定位、浮动、响应式布局等技巧。在JS部分,提到了移动端事件处理、元素获取、错误排查和性能优化。同时,文章还介绍了如何解决浮动不显示、元素定位等问题,并探讨了移动端特有的CSS属性和JS处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目开发:

  • 新建文件夹:index.html,css,js,images;项目尽量使用英文目录
  • css文件夹至少一个base.css:reset+common,还有一个index.css
  • 移动端开发:
  • html中head中要加关于viewport的设置,+主要引入的css,js文件骨架搭好
  • Pc端是固定像素容器居中,在移动端,有最大最小宽度限制
  • index.css,一般都会有一个版心容器,居中
  • 通栏:和整版的宽度一致,但面积不到半个版。
  • 切图,雪碧图:减少网络请求次数。

一般图标都会做一个0.5倍的压缩

  • 轮播图:列表形式,

CSS

  • reset.css:
  • list-style:列表前的标点样式去除
  • text-decoration:none,消除超链接下默认的下划线
  • 选择器问题:
  • div p:指div内部的p
  • div,p:指所有div和p
  • 定位position属性:
  • fixed固定定位的默认会基于原来的容器定位,宽度基准是浏览器宽度
  • 将插入的图片放置到合适的位置:position:absolute;top和left具体px值。
  • 绝对定位元素的位置是相对于距离它最近的已定位的祖先元素决定;
  • 浮动不显示效果的问题:
  • span,a非块级元素,要设置为display:block才可以应用
  • 或者不用浮动,设置父级元素position:relative;再设置left:0;或right:0;
  • margin:0 auto上下为0,左右居中
  • x:设置全部;(上右下左)
  • x,y:上下x,左右y
  • x,y,z:上x,左右y,下z
  • 移动端特有:
    box-sizing:border-box,从边框开始计算宽度;
    top-highlight-color:transparent,点击高亮消除
  • width,用px为单位,传统布局;用100%,是自适应流式布局,自适应布局由width:100%,max(min)-width,margin:0 auto实现。
    width的百分比是基于父容器的内容来计算的。
  • input,textarea默认有边框,border:none;outline:none,去除边框;background-color:rgba(0,0,0,0)透明背景;resize:none,不能改变大小
  • 双飞翼布局:左右两侧固定,中间自适应
  • 左右两侧固定通过父级元素定位position:relative,本身定位absolute,且左left:0;右right:0,实现。再进一步设置各自的宽度和高度
  • 实现双飞翼布局中间的自适应:百分比
  • form标签:为用户输入创建表单,里面包含input,textarea等。
  • 像登录信息的文字要设置居中text-align:center
  • line-height,font-size
  • 行高(行间距):line-height,指文本基线之间的距离,基线指英文字母
  • font-size:指同一行顶线和底线之间的距离
  • 行距:上行底线和下行顶线之间的距离
  • 搜索框的自适应:width:100%,然后留出左右侧固定的位置,input是form内容的部分设置左右padding;搜索框里的图标,设置input的padding留住图标位置
  • border-radius:为元素添加圆角边框
    border属性:设置边框
  • class^=’’,以…开头,class*=’’,包含…
  • transform属性:元素2D或3D转换,允许元素进行旋转,缩放,平移或倾斜。
  • z-index属性:设置元素的堆叠顺序,只能在定位元素上使用
  • left:百分比的形式也可以进行布局排布,比如一行4个,25%,再float。
  • border-shadow属性:给元素添加阴影。
  • rgba(x,y,z,o):考虑改变背景透明度,用rgba格式表示背景颜色。兼容性问题:
    .cssbackgroung:rgba(0,0,0,07); filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7F000000,endColorstr=#7F000000);

JS

移动端不常用jQuery,体积大,大量兼容

  • 获取指定元素
  • document.querySelector():返回文档中匹配指定css选择器的第一个元素。
  • Chrome控制台报错:unexpected end of input
    一般是符号{},“”,[],未终止导致。
  • 获取当前页面的滚动距离:document.body.scrollTop;
  • touch事件:移动端特有事件。
  • touchstart:手指刚触摸到屏幕所触发的事件
  • touchmove
  • touchend

对应页面上触摸点的集合

  • changedTouches:当前页面最新改变的触摸点集合
  • TargetTouches:当前元素上触摸点的集合
  • Touches:记录当前页面上所有触摸点的集合。
  • 监听事件:
  • on,绑定会覆盖
  • addEventListener(‘event’,function)
    使用的时候注意语法格式:elenment.addEventListener();
  • js代码调试:控制台console打印一行一行调试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值