前端工作中遇到的问题总结

1.button里面,用letter-spacing调整中文字间距

问题描述:设置之后现代浏览器无法使文字水平居中,会偏右,
原因:最后一个字后面也有间距存在
解决方式:用空格解决;或者用paddding-left:2px解决

2.兼容ie6,7,8背景透明内容不透明解决方法:

rgba(a,b,c,0.8);
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=80)";//有时有问题

3.行间距设置
用line-height :number/%;

4.文字阴影css3
text-shadow:h-shadow v-shadow blur color; 详见梦想天空http://www.cnblogs.com/lhb25/archive/2013/01/30/css3-text-shadow.html

5.input框阴影css3
box-shadow: h-shadow v-shadow blur spread color inset;详见w3plus

6.ie8下margin-top失效

- 当该div上面的div是绝对定位或者浮动时,ie8下,设置该div的margin-top无效,
解决方法:单独为ie8设置hack,float;或者如果上div是绝对定位的话,可以将其移到该div的下方.
- 还有父元素未设置border,子元素 设置margin-top无效
解决方法:为父元素设置overflow:hidden;为父元素设置border透明;改margin-top为padding-top

7.不用js实现placeholder的类似功能
<input type="text" value="请输入您的姓名" onfocus="javascript:if(this.value=‘请输入您的姓名‘){this.value=‘‘;}" onblur="javascript:if(!this.value){this.value=‘请输入您的姓名‘;}" class="name" NO="0"/>

8.文字竖排(类蒙古文)
暂用li浮动,width为字体大小解决
ie有writing-model:tb-rl属性,可以实现,其他浏览器暂未有

9.输入框input输入文字竖排显示

- ie浏览器的writing-model属性支持input框竖排效果的实现,其他浏览器暂未查到;
- <textarea cols="1" rows="10" ></textarea>可以实现,限定列和行,但是会出现滚动条.
要设置textarea文本域的滚动条是否开启,使用style.overflow-x属性来控制。如:如果要隐藏该文本域的横向滚动条,在style属性中增加overflow-x属性控制,如下:
<textarea id=txtComments style="overflow-x:hidden"></textarea>
相应的,若要隐藏纵向滚动条:
<textarea id=txtComments style="overflow-y:hidden"></textarea>
如果使用代码控制的话,可能需要如下代码实现:
document.all("txtComments").style.overflowX="hidden";
overflow-x,overflow-y的可取值为:visible(默认取值),hidden,auto,scroll。

10.特殊字体
字体打包技术,后台处理

11.option设置背景颜色
在option标签里加入style="";(css里设置没有效果)

12.手机号码正则(较新)
/(^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$)|(^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$)/

13.手机字体大小设置

html里面设置fontsize 1rem=12px 
不同分辨率对应不同的大小
一般320对应12px,375对应14,414对应16px,在手机16px偏大
html {font-size: 62.5%;/*10 ÷ 16 × 100% = 62.5%*/}
body {font-size: 1.4rem;/*1.4 × 10px = 14px */}
h1 { font-size: 2.4rem;/*2.4 × 10px = 24px*/}

14.input的button按钮的文字不居中
padding,line-height解决

15.ie中父元素float:left;子元素float:right;父元素未设置宽高,float:left就会失效
解决:父元素设置宽度

16.冒泡,点击菜单显示,点击其他地方隐藏(事件流)

//点击#a元素,菜单显示,然后在body上点击一次任何元素,隐藏菜单
$("#a").on("click", function(e){
$("#menu").show();
$(document).one("click", function(){
$("#menu").hide();
});
e.stopPropagation();//(阻止捕获)
});
//点击菜单本身,阻止捕获
$("#menu").on("click", function(e){
e.stopPropagation();
});

17.jquery 获取下拉列表的值
获取select选中的option的值:$("#select").find("option:selected").val();
详见博客http://blog.csdn.net/cui_angel/article/details/8000432

18.超级简单的横向手风琴代码jquery

链式操作的体现
$(".num").click(function(){
$(this).css({"background-color":"#c20000"}).find("h1").css("color","#fff");
$(this).parent().siblings().find(".num").css({"background-color":"#e5e5e5"}).find("h1").css("color","#8a8a8a");
$(this).parent().siblings().find("div:last").css({width:0});
$(this).next().animate({width:"315px"},500);
});

原文地址:https://www.cnblogs.com/lanlanJser/p/11874860.html

时间: 2024-10-30 04:18:08

前端工作中遇到的问题总结的相关文章

知乎上关于前端工作中经常遇到的问题总结

有哪些经常被误用的 HTML.JavaScript.CSS 的元素.方法和属性? 以前想要把一个元素(input 之类的)设成只读的时候都是用 disabled,后来发现这是不对的. 因为在 HTML 里面,如果一个元素被设置成 disabled, 那么它的值就不会被发送到 server 端. 正确的做法应该是使用 readonly. 那么除了这个 disabled,在 Web 开发中还有哪些东西是经常被误用的? 添加评论分享 按票数排序 按时间排序 21 个回答 一丝,专业 CSS 吐槽,下面

前端工作中的点点滴滴(二)

最近做web app.项目要添加表情,对这个以前没关注过,所以研究了一下.我要做的是一个[消息盒子],显示别人的回复以及我关注的事件的进展,这里面涉及到显示他人评论的问题,假如都是文字还好说,要是有表情呢?不好办~! 后台发给我的评论数据是字符串,表情也被例如"[撇嘴]"这样的字符串所替代,这里面首先涉及到的问题就是如何从字符串中筛选出合法的表情字符,比如像"[123]"这样的字符就是非法无效的,而且人家可能就是在评论里面写了中括号括起来的字符串,可不能给人家变成表

前端工作中一些关于hosts的简单设置

hosts原理: hosts文件存放的就是一些常用的网站主机的域名和其对应的IP地址.当我们访问网络的时候,可是以用浏览器在地址栏中输入网站的域名并回车,也可以是PING一个网站的域名等,系统往往会首先检查本地的HOSTS表文件,看其中是否已经有相应的域名与IP地址的对应关系,如果有就会直接采用,如果没有,那么就得由DNS服务器进行域名解析完成域名与IP的转换工作. 使用场景: 1.加快域名解析 对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度.由于有了

前端工作中的点点滴滴(一)

验证一个css属性是否被支持,这算是一个比较基础的问题.另外一方面,我们不仅想知道一个属性是否被支持,还想知道某个属性的特定类型的值是否被支持.例如background-color可以有rgba类型的数值,但并不是所有浏览器都支持,如何确定一款浏览器支不支持rgba类型的值呢?我认为Modernizr这款库就为我们提供了一个很好的手段.Modernizr是如何做的呢?具体来说用到了[属性]这个概念,这个概念在C#中显得非常重要.只有当你输入的数值是合法的,才会继续后面的操作.也就是,对于浏览器来

在前端工作中遇到的一些常见的兼容问题

1.图片下方3像素:在div中插如图片时,图片会将div下方撑大3px: 解决方案:(a)将<div>和<img>写在一行上(IE6.ie7); (b)将<img>转为块状元素,给<img>添加声明:display:block; (c)给<div>加overflow:hidden; 2.换行产生3像素: 解决方案:(a)不换行,将元素放在一行显示: (b)给元素加浮动: 3.鼠标指针bug:cursor属性的hand属性值只有IE浏览器识别,其他

前端工作中遇到的问题总结1

1.button里面,用letter-spacing调整中文字间距 问题描述:设置之后现代浏览器无法使文字水平居中,会偏右,原因:最后一个字后面也有间距存在解决方式:用空格解决;或者用paddding-left:2px解决 2.兼容ie6,7,8背景透明内容不透明解决方法: rgba(a,b,c,0.8); filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -ms-filter: "progid:DXImageTransfo

一探前端开发中的JS调试技巧

前言:调试技巧,在任何一项技术研发中都可谓是必不可少的技能.掌握各种调试技巧,必定能在工作中起到事半功倍的效果.譬如,快速定位问题.降低故障概率.帮助分析逻辑错误等等.而在互联网前端开发越来越重要的今天,如何在前端开发中降低开发成本,提升工作效率,掌握前端开发调试技巧尤为重要. 本文将一一讲解各种前端JS调试技巧,也许你已经熟练掌握,那让我们一起来温习,也许有你没见过的方法,不妨一起来学习,也许你尚不知如何调试,赶紧趁此机会填补空白. 骨灰级调试大师Alert 那还是互联网刚刚起步的时代,网页前

关于前端开发中的“收口”思想

什么是收口 所谓条条大路通罗马,但如果让我来设计通向罗马的各种大路,我至少会做两件事情: ① 让罗马只有一个入口 ② 让罗马只有一个出口 这样做的好处是,无论你路从哪来,我可以统一在入口处给你打上各种标志,我也可以在你离开罗马时给你留点纪念.当然罗马自然不只一个出口入口,但是每个出口入口一定有一套相同的规定,否则就会出问题. 具体到当今的工作场景,高速公路又是一个收口的好例子,进入高速公路时候得经过收费站做点标志,离开时候也会做点操作,如果没有这种收口,不论是缴费工作,流量统计或者其他都是无法统

前端工作流程自动化——Grunt/Gulp 自动化

前端工作流程自动化--Grunt/Gulp 自动化 Grunt/Gulp 都是node.js下的模块,简单来说是自动化任务运行器,两者都有社区及大量的插件支撑,在所有的自动化工具领域里,这两者是最好的前端自动化构建工具. 那么问题来了,Grunt和Gulp到底哪家强?在回答这个问题前,先给大家看一组下面的数据: 再看看实现同样功能的配置代码: 作者本人之前一直使用Grunt来做自动化构建的,在Gulp出来后,经过一段时间的试用感觉配置比Grunt方便多了,如果你两者还没接触过,本人推荐直接使用G