前端程序员应该了解的项目经验分享

本文主要分享前端开发的经验,包括HTML的语义化标签使用,CSS的居中与布局技巧,JavaScript的常见操作,Vue的路由守卫和微信登录实现,以及HTTP状态码和数据传参方法。还探讨了如何处理模态框关闭、图片居中、CSS3滤镜、动态组件等问题,并提供了前端项目配置和打包发布的注意事项。

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

1:HTML

  • 尽量使用语义化标签 header aside main footer 等
  • 给a标签加上href:“javascript:;”就能禁止跳转
  • 块级元素独占一行
  • 除了div等那些,基本上都是行内元素
  • 行内元素设置宽高边距无效
  • img、input属于行内替换元素:height/width/padding/margin均可用。效果等于块元素
  • button也是行内元素

2:CSS

  • 引入清除样式
  • 文字的居中,text-align,line-height
  • 盒子的间隔可以考虑外边距margin,也可以考虑内边距padding。尽可能偏向内边距
  • div的宽度尽量给百分比或者min-width/max-width
  • 如果设置了相同的宽高,发现对不齐,考虑盒子的padding和boder ,设置box-sizing:border-box
  • 图片是行内元素 可以直接在img标签上 有<img src="smiley-2.gif" alt="Smiley face" width="42" height="42"> 属性,或者veight设置居中,在img标签属性上写width:100%。能自动铺开
  • 想给图片设置外边距,先设置display:block,变成块级元素,或者用div包裹图片
  • 涉及到模态框的问题,点击空白处模态框关闭,事件冒泡不能解决的话,可以在子div加个同级的背景div,在背景div上面加关闭事件,背景div样式为宽高100%再加个颜色
  • less嵌套语法加伪元素 加上&符号 和:
  • less等语法 可以抽离公共部门。规定整个项目的颜色主题,规定一个变量@blue:#fff,在每个页面进行导入,通过@import 导入路劲。
  • img是行内元素,虽然可以设置宽高,但是设置display:block减少边距
  • 设置flex布局如果是justify设为space-bewteen,加上允许换行,会有样式错误。解决办法

  • 嵌套伪元素选择器写法&:nth-child(第几个)
  • 选择后代第几个&:nth-of-type()
  • 最后一个子节点不需要样式,&:last-chlid
  • hover可以指定下面的具体类名加上样式(比如显示隐藏),一般配合trasform,和trantions
  • 如果说hover给排列的item加样式,比如加边框,可能会出现样式重排。避免这种情况,在原始样式上设置对应的属性比如border的颜色为transparent,再hover的时候改颜色。
  • <
### 使用 Uni-app 编写前端简历项目的实践经验 Uni-app 是一种跨平台开发框架,能够帮助开发者高效构建多端应用(如小程序、H5 和 App)。对于前端工程师来说,在简历中展示基于 Uni-app 构建的小型项目是一个很好的方式,既能体现技术能力,又能突出实际动手经验。 #### 1. **项目概述** 为了更好地展示自己的技能,可以选择创建一个简单而实用的项目——例如“个人作品集”或“在线简历”。这类项目通常包括以下几个部分: - 用户基本信息(姓名、联系方式等) - 技能清单 - 工作经历/教育背景 - 完成过的项目案例链接[^1] 这些功能可以通过 Vue.js 的组件化结构轻松实现,并利用 Uni-app 提供的强大工具链完成适配不同终端的任务。 #### 2. **目录结构设计** 合理的文件夹布局有助于维护代码清晰度并提高可读性。下面给出了一种推荐的目录树: ```plaintext project-name/ ├── components/ # 自定义公共组件存放位置 │ └── SkillItem.vue # 单项技能显示模板 ├── pages/ # 页面级视图所在路径 │ ├── index/ # 首页逻辑及其关联资源 │ │ ├── main.js # 主入口脚本 │ │ └── index.vue # HTML 结构与样式声明 │ └── projects/ # 展示过往工作的子页面 │ └── projectList.vue └── static/ # 存放静态素材比如图片或者字体库 ``` #### 3. **核心代码片段** 以下是几个关键模块的具体实现方法: ##### (1) 基础信息渲染 在 `index.vue` 中设置个人信息卡片区域。 ```vue <template> <view class="profile-card"> <image src="/static/avatar.jpg"></image> <!-- 头像 --> <h2>{{ name }}</h2> <p>Email: {{ email }}</p> <button @click="downloadCV">下载简历</button> </view> </template> <script> export default { data() { return { name: '张三', email: 'zhangsan@example.com' }; }, methods:{ downloadCV(){ console.log('触发下载行为'); } } } </script> ``` ##### (2) 动态加载技能标签 通过循环数组生成多个技能条目。 ```vue <template> <block v-for="(item, index) in skills" :key="index"> <SkillItem :title="item.title" :level="item.level"/> </block> </template> <script> import SkillItem from '@/components/SkillItem.vue'; export default { components:{SkillItem}, data(){ return{ skills:[ { title:'HTML', level:'高级' }, { title:'CSS', level:'中级' }, ... ] } } }; </script> ``` ##### (3) 跨设备兼容处理 考虑到目标受众可能来自各种客户端环境,因此需要特别注意 UI 设计上的响应式调整策略。可以借助 CSS Flexbox 或 Grid Layout 来简化复杂布局操作;同时也要记得测试真机效果以验证最终呈现质量[^2]。 --- #### § 1. 如何优化 Uni-app 应用性能? 2. 在 Uni-app 中如何管理状态?有哪些常用的状态管理模式? 3. 怎样调试 Uni-app 小程序遇到的问题? 4. 是否存在更高效的插件用于加速 Uni-app 开发流程? 5. 对于初学者而言,除了官方文档外还有哪些优质的学习资料值得参考?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值