前端是做什么的?
1.前端工程师主要利用HMTL与CSS建构页面(其中html构建骨架,css构建样式),用JavaScript获取后端数据以及完善交互以及用户体验。
2.通俗来讲,前端在一个项目里,拿到UI设计师设计的设计稿,然后实现UI设计师设计稿,调用后端程序员给的数据接口以获取数据,然后测试,最后部署上线。
3.前端可以对设计图负责,大部分情况下,不需要特别的去理解业务逻辑,因为我们90后都是玩着十几年手机电脑长大的,十几年的经验足够我们在潜意识里想明白应该怎么做,怎么去一步步实现,会有什么意外情况。
4.我感觉前端发展有个很大的缺陷----晋升问题. 正如第三点所言,作为领导必须对项目有足够的了解,显然是要重点包括业务逻辑,这点上,后端开发者需要涉及数据库逻辑,是必须要跟业务逻辑打交道的(重中之重),因此,大部分的领导岗位都是后端开发者更有晋升的机会。当然,个别公司有专门的前端组长(这也不算什么),如果说前端开发者在自己工作范围之外还要腾出时间去研究业务逻辑,属实是觉得出力不讨好(因为这样的操作需要持续很久才能看出效果),而且再怎么研究业务逻辑也不会比每时每刻跟业务逻辑打交道的后端开发者了解更多。说实在的,大部分情况下,前端在配合后端进行开发.后端需要了解业务逻辑,要跟领导和客户商量细节,露脸机会很大,在老板面前刷脸次数众多。这些都是拉开前后端程序员晋升机会差距的因素。
前端的特效视觉:
层次结构的表现
动态效果,如缩放,覆盖,滑出网页或单个视觉元素,可帮助用户理解网页信息架构。通常是通过转场和菜单来展开网页。
表现层级关系
为了展现层与层的关系,是抽屉,是打开,还是平级切换等等。让用户知道这个界面和上一个、下一个的关系。
清晰明确
动效可以清晰地表明各种数据块中间的逻辑结构,即使在数据高度饱和的情况下也能使一切从观感上有组织性。
添加了图层
在网站制作过程中加上特效,每个元素都在用户滚动页面或者是鼠标经过的地方有动态效果,就像在平面层上多出了一个动态层,这样看起来更加有层次感。
代码:
<html><head><metahttp-equiv="content-type"content="text/html; charset=utf-8"><metaname="viewport"content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><title>全屏导航栏菜单</title><linkhref="https://cdn.bootcdn.net/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"rel="stylesheet"><style> *{ /* 初始化 取消页面的内外边距 */margin: 0; padding: 0; /* 这个是告诉浏览器:你想要设置的边框和内边距的值是包含在总宽高内的 */box-sizing: border-box; } .con{ /* 弹性布局 水平、垂直居中 */display: flex; flex-direction: column; justify-content: center; align-items: center; /* 100%的窗口高度 */height: 100vh; /* 行高 */line-height: 80px; font-size: 30px; /* 字间距 */letter-spacing: 15px; } .wrapper{ /* 固定定位 窗口滚动也不会移动 */position: fixed; top: 0; left: 0; width: 100%; height: 100%; /* 渐变背景 */background: linear-gradient(200deg,#91ff00,#ffbb00); /* 将元素剪切为一个圆形【25px表示圆的直径】【calc(100% - 45px) 45px表示圆心】 */clip-path: circle(25pxatcalc(100% - 45px) 45px); /* 过渡动画 */transition: all0.3sease-in-out; } .menu-btn{ position: absolute; right: 20px; top: 20px; z-index: 2; /* 渐变背景 */background: linear-gradient(200deg,#f02f86,#00e1ff); width: 50px; height: 50px; text-align: center; line-height: 50px; border-radius: 50%; color: #fff; font-size: 20px; cursor: pointer; /* 这里也加个过渡动画 */transition: all0.3sease; } /* 把复选框隐藏 */#menu_btn{ display: none; } #menu_btn:checked ~ .wrapper{ /* 将元素剪切为一个圆形 75%表示圆的直径 */clip-path: circle(75%); } #menu_btn:checked ~ .menu-btn{ color: #d576ba; background: #fff; } /* 当复选框为选中态时,改变图标 */#menu_btn:checked ~ .menu-btni::before{ content: "\f00d"; } .wrapperul{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); list-style: none; text-align: center; } .wrapperulli{ margin: 30px0px; } .wrapperullia{ color: #fff; text-decoration: none; font-size: 30px; font-weight: 500; padding: 5px50px; position: relative; line-height: 50px; } .wrapperullia::after{ content: ""; position: absolute; width: 100%; height: 50px; background: #fff; z-index: -1; border-radius: 50px; left: 0px; transform: scaleY(0); /* 加个动画过渡 */transition: transform0.3sease; } .wrapperullia:hover::after{ transform: scaleY(1); } .wrapperullia:hover{ color: #d576ba; } </style></head><body><inputtype="checkbox"id="menu_btn"><labelclass="menu-btn"for="menu_btn"><iclass="fa fa-bars"aria-hidden="true"></i></label><divclass="con"><h1>全屏覆盖导航栏</h1></div><divclass="wrapper"><ulclass="menu"><li><ahref="#">首页</a></li><li><ahref="#">关于</a></li><li><ahref="#">服务</a></li><li><ahref="#">联系我们</a></li><li><ahref="#">用户反馈</a></li></ul></div></body></html>