⑴ web前端工程师工作中遇到难以解决的问题
1).margin-top,margin-bottom不能正常显示时
一.有时会遇到外层中的子层使用margin-top不管用的情况;这里我们需要在子层的前后加上一个
div{height:0;overflow:hidden;}
例
CSS样式表中:
#box {background-color:#eee;}
#box p {margin-top: 20px;margin-bottom: 20px;text-align:center;}
解决方法:在P标签前后各加2个空的div:<divstyle="height:0;overflow:hidden"></div>
二.网页中头部,中部,底部的居底部有时给个margin-bottom:10px;不管用也是要给个清除属性的.clear{clear:both;font-size:0;line-height:0;}在底部<div id="footer"></div>下加个<div></div>
2).div层中高度自适应问题
网页前端科技人员在设计网页时不可能知道客户在要他们自己的网站内容页里加多少文字或图片内容
这时我们就不能规定div层的高度,为此应写成min-height:200px;height:auto!important;height:
200px;overflow:visible;这样ie7,ff,ie6浏览器的高度自适应问题就解决了,这些在
http://www.xueshengshu.com/网站中用到最多了。
3).div层中子层的居底部对齐问题
div中的定位问题有很多也很麻烦,但弄懂了就OK了,在一个大的div层中如何让子层的内容居底部
对齐就涉及到了position定位问题;
例
div层#box{position:relative;border:1px solidred;width:600px;hegiht:400px;}
div子层#box .wrap{position:absolute;bottom:0;border:1px dashedblue;width:200px;height:
100px},最近写的网站中http://www.msgc.net.cn/就用到了
4).div层中清除clear属性的一小部分应用
在div中一个大的层里面有很多子层,若是加上边框在ie7、ie6中或许会正常显示,但是在ff中可能
只会成一条线了,此时在最外层的后面加上<div style="clear:both"></div>或者设 .wrapfix:after{
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}后在每个浮动外框调用wrapfix;http://www.xueshengshu.com学生书网里用到最多了。
5).解决IE8下div移位、错位等兼容性问题
在<head>标签后面的第一句话加上<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />就OK了
6).单行文字居中与字体样式问题
在div中一个层中只有一行文字,要让这层中的文字居中,可设line-height的高度和层的高度一样,注意这一层中的文字不能换行,此外,设了line-height时再给定字体样式font:bold 14px "宋体";这时要把font:bold 14px "宋体";放在line-height的前面,否则字体样式不显示文字也不居中;或者将font:bold 14px "宋体";改成font-size:16px;font-weight:bold;font-family:"宋体";就OK了。
7).鼠标滑上去的特殊效果
往往为了达到显眼的效果,我们会写到一些好看的效果,方法一在样式表中写:ul li a{border:1px solid red;}ul li a:hoverimg{filter:alpha(opacity=40在ul标签中调用即可方法二:在样式表中写上:.hover img{filter:alpha(opacity=40);}在div中调用onmouseover="this.className='hover'"onmouseout="this.className=this.classtype"即可
8).IE6中高度不对问题
今天在div中给定了高度为1px,其它浏览器显示正常,可是ie6中显示的高度就不对了,这时我给样式表中加了个font-size:0px;line-height:0px;就好了
9).ul在外框里margin-top不起作用的问题
在div大框子里用了ul作导航的时候为了合ul层居中显示,设ul的样式表为margin-top:-15px不起作用了,此时应该将div大框设定高度后给个line-height与height一样的高度,ul层就自动居中了。
例如http://www.hopes-home.cn/main.aspx
10).ff中margin-top有时不起作用的问题
今天头晕脑涨的把这问题给解决了,这几天写标网都有累似问题,可是一直都是换个写法解决的,今天的这个办法也不只可行试试还是可以的,在一个div外框层中给个宽度例如,#div_wrap{width:280px;height:100%;}
其次在这个框子里设一个.div_top{widh:100%;font:bold12px "宋体";height:24px;line-height:24px;}
.div_center{border:1px solid#dbdbdb;border-top:none;background:#fff;min-height:460px !important;height:auto!important;height:460px;overflow:visible;}
最后在这个div_center里套个ul li时经常会在ff中出问题,也就是在div_top与div_center中莫名的多了几个像素的空格,这时给ul样式表设个display:inline-table即可;
11).list-style-image的用法
div中经常用到新闻列表前面有图标的样式,有两种简单的方法
一.可以写成ul.menu{width:100%;} ul.menuli{background:url(em_img/small_icon.jpg) 5px center no-repeat;list-style-position:inside;padding-left:18px;}即可在各浏览器正常显示
二. 可以设ul.menu{width:80%;} ul.menuli{list-style-image:url(em_img/small_icon.jpg); }
此时新闻列表前的小图标即可在ie6,ie7,ie8,ff中都正常显示但,ie6需要不断的刷新才能正常显示小图标;
12).
IE6 li:hover兼容问题
<scripttype="text/javascript"><!--//--><![CDATA[//><!--
sfHover =function() {
var sfEls = document.getElementById("nav").getElementsByTagName_r("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
//--><!]>
</script>
13).ie6下支持position:absolute;
最近写一个短信平台的页面用到的底部固定的层,在ff和ie7,ie8下都是好的,可到ie6下就不行了,转了整个地球终于出来了:
background-attachment:fixed; }
#bottomNav {background-color:#096; z-index:999; position:fixed; bottom:0; left:0;width:100%; _position:absolute;
_top: expression_r(documentElement.scrollTop+ documentElement.clientHeight-this.offsetHeight); overflow:visible; }
样式表中调用即可!详细请见“高度自适应屏幕尺寸!”
14).border:none;与border:0;的区别
1.性能差异
【border:0;】把border设为“0”像素虽然在页面上看不见,但按border默认值理解,浏览器依然对border-width/border-color进行了渲染,即已经占用了内存值。
【border:none;】把border设为“none”即没有,浏览器解析“none”时将不作出渲染动作,即不会消耗内存值。
2.兼容性差异
兼容性差异只针对浏览器IE6、IE7与标签button、input而言,在win、win7、vista 的XP主题下均会出现此情况。
【border:none;】当border为“none”时似乎对IE6/7无效边框依然存在
【border:0;】当border为“0”时,感觉比“none”更有效,所有浏览器都一致把边框隐藏
总结:
1. 对比border:0;与border:none;之间的区别在于有渲染和没渲染,感觉他们和display:none;与visibility:hidden;的关系类似,而对于border属性的渲染性能对比暂时没找测试的方法,虽然认为他们存在渲染性能上的差异但也只能说是理论上。
2. 如何让border:none;实现全兼容?只需要在同一选择符上添加背景属性即可
对于border:0;与border:none;个人更向于使用,border:none;,因为border:none;毕竟在性能消耗没有争议,而且兼容性可用背景属性解决不足以成为障碍。
15).ie下。png的图片不会有灰色背景出现
注:首推PNG8,即使在IE6中它的透明背景也能被正确显示。PNG8使用的技巧是,输出时把“杂边”设置为和背景接近的颜色
1.几经周折终于把ie6下.png有色图问题解决了,原来IE6.0原本支持png8的索引色透明度,但不支持png或8位以上的alpha 透明度,在IE6.0下,非PNG8格式的透明图片部分,会显示为淡淡的灰绿色。在网页中头部加个代码<!--[if IE 6]>
<script type="text/javascript" src="http://zmingcx.com/wp-content/themes/HotNewspro/js/pngfix.js"></script>
<script src="js/DD_belatedPNG.js"></script>
<script>
DD_belatedPNG.fix('.png_bg');
</script>
<![endif]-->即可!
⑵ 前端图片处理
我的理解应该是生成图片的时候,在不影响图片质量的情况下,尽量用体积小的格式,比如在不透明的情况下尽量把图片保存成png格式。
在css中有一种技术叫做图片精灵,就是把一些背景图做成集合的形式。图片只需加载一次。
最后网上好像是有插件(浏览器也有插件)可以对图片进行压缩处理。
⑶ 网站后台编辑图片在前端模糊,如何处理
制作图片的时候将图片的尺寸做大一些,
或者将图片的清晰度调高一些就行了
上传图片的时候图片会被压缩
所以导致图片不清晰
因此尽量使用大图
⑷ web前端开发图片放大了不清晰
web前端开发图片放大了不清晰,需要优化浏览器的缩放算法
在网页上通过CSS样式对图片进行缩放从而导致图片模糊,究其原因是因为浏览器的缩放算法和图片处理软件的不同导致的差异。
所以,要解决这个问题,就需要优化浏览器的缩放算法。CSS属性image,rendering正是为此而存在的。CSS 属性用于设置图像缩放算法。它适用于元素本身,适用于元素其他属性中的图像,也应用于子元素。
⑸ 前端开发中,对图片的优化技巧有哪些
阶段一、图片从PS中出来的时候:
1、大图jpg,保存为连续模式。可以有模糊渐显的效果。普通的是扫描打印效果。
2、小图icon,http1.x服务器的话整在一起导出。http2.0服务器就无所谓了,可单个保存。
3、部分不适合与2切在一起的小图片,使用base64编码字符串代替。
阶段二、图片在代码中使用的时候:
1、图片保存在额外CDN服务器。可节省代码服务器空间,加快图片访问。
2.1、在图片即将进入到视野范围内时再加载,可节省流量,加快首屏展示。
2.2、在网络空闲的时候预加载后续的图片可以让用户等待时间更少。
3、考虑SEO的话,非内容的图片使用背景代替?
4、好的图片CDN自带图像处理功能,诸如裁剪压缩之类的功能,可以上传一张大图,使用带有不同参数的url来在不同的场景中使用图片。
阶段三、项目上线
1、尽量不要让图片链接失效好了
⑹ web前端图片处理。请求大神。。。。。。
如果你说的是我理解的,用css就可以实现
手机打字不方便,给你看看以前回答别人相似的问题
http://..com/question/170087636.html?oldq=1
也就是说该链接宽度和 图片中第一个图标宽度相同,然后通过背景图方式载入成为默认样式。再通过:hover 改变同一个背景图的x轴位置就可以实现
仍有问题的话追问吧
⑺ HTML中将一张图片蒙上一层灰色
请问要蒙上什么样的一层灰色?
1. boson说的 opacity 是控制元素的透明度,filter的写法是IE适用,
还可以写成 opacity:0.7 ,兼容Chrome
2. 如果是需要一层半透明黑灰色,挡着图片,你需要弄一个position: absolute; background:#000; opacity:.7; 的div遮挡,注意宽度高度,和位置
3. 如果是想让图片变成黑白色,需要 filter: grayscale(100%); ,具体可以自行搜索
⑻ 前端代码网页背景图闪一下就没了
图片加载方式出现问题。
图片加载的两种方式,BaselineJPEG(基准式)ProgressiveJPEG(渐进式)基准型加载这种类型的文件存储方式是按从上到下的扫描方式,打开这个文件显示它的内容时,数据将按照存储时的顺序从上到下一行一行的被显示出来,直到所有的数据都被读完,就完成了整张图片的显示。放到浏览器里就是这样我遇到的这种情况了,虽然图片很快就加载完成了,但是有一点小小的延迟,就会导致闪白。渐进式加载这种文件包含多次扫描,会先显示整个图片的模糊轮廓,随着扫描次数的增加,图片变得越来越清晰。
将背景图片的加载格式转换成渐进式加载即可。PS转换将图片放入ps中重新到出,到处是选择渐进式加载格式即可。代码转换就该个格式用ps还是有点麻烦,用代码直接修改还是更适合我们。无法通过原生控制选择图片的数量,如果需要做图片数量的控制,需要选择完图片后,在input的onchange中监听文件的数量进行判断。建议,在选择上传的按钮附近加上明显的提示,告知用户最多上传的图片数量。至于上传超过数量时逻辑,可以自行根据业务场景决定,是上传上限内的前几张图片,或是全部都不上传,在APP端嵌入H5页面,使用input原生上传方案时,在选择图片时是使用APP做的选择图片功能,即选择图片的上限可能会受APP端的限制。