CSS日常公用样式与一些解决方案

 
一、自己总结的公用样式解析
html, body, div, p, ul, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, form, input, select, button, textarea, iframe, table, th, td { margin: 0; padding: 0; }
img { border: 0 none; vertical-align: top; }
ul, li { list-style-type: none; }
h1, h2, h3, h4, h5, h6 { font-size: 14px; }
body, input, select, button, textarea { font-size: 12px; font-family: Tahoma, Geneva, sans-serif; }
button { cursor: pointer; }
i, em, cite { font-style: normal; }
body { background: #fff; color: #363636; line-height: 1.2; }
a, a:link { color: #222; text-decoration: none; }
a:visited {  }
a:active, a:hover { text-decoration: underline; }
a:focus { outline: none; }
.fixed:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; }
.fixed { display: block; min-height: 1%; }
*html .fixed { height: 1%; }
.clear { diplay: block!important; float: none!important; clear: both; overflow: hidden; width: auto!important; height: 0!important; margin: 0 auto!important; padding: 0!important; font-size: 0; line-height: 0; }
.more { float: right; }
.more a { font-weight: normal; font-size: 12px; }
.fl, .fr { display: inline; float: left; }
.fr { float: right; }
这是我做网页制作近三年来经过参考和自己研究出来的公用样式,大体就是这样,样式会根据网页具体的效果进行微调。
注:在这里写这些注解就是为了让刚接触到CSS的朋友明白一些东西 不至于绕弯路,知道这些代码都是怎么回事的就可以跳到第三条了,可能写的有些啰嗦。呵呵!
第一行html, body, div, p, ul, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, form, input, select, button, textarea, iframe, table, th, td 样式大家应该都明白这样是把原先的选择器自带的外填充和内填充去掉归0
也许有人还在用“ * ” 通配符,但是这样是有缺点的 会让代码变得冗余 尤其是子父级嵌套关系越深越麻烦,建议大家要尽量减少使用,在这里建议大家多使用我在第一行里写的通用样式,可能选择器还比较少,但是我日常用到的选择器就这么些,如果大家有用到 pre fieldset blockquote 这些选择器 或是其他的选择器 一样可以写到里面。
第二行里 img 图片标签的样式 大家是各有不同,目的都是一个让浏览器里默认图片是没有边框的,还有ie6里图片底部出现的空白间隔消失掉。有的爱用 display:block; border: none;
但是这样写的话,都会有这样或那样的缺点,display: block; 这样写的话 你要让图片左右居中于一个盒子内的时候 你怎么办? margin: auto; 这样吗?但是你要让外面的盒子有一个实际的宽度,如果是换成 vertival-align: top; 或是 vertival-align: middle; 的话那么这个实际的宽度就不必写了,只用加一个 text-align: center;  图片也不用加外填充了。
还有就是有的酷友会奇怪我写的 border: 0 none; 这里要写 0 再加一个 none,这个问题我还是想说一下是因为我在写文本框 input 的时候,发现在不同的 windows 系统外观下,你光写border: none 或是 border: 0; 都不行,文本框的边框还是在的,所以就必须写 border: 0 none; 这个习惯也就留到了img 上,所以大家还是可以写成 border: none; 但是写 input 的时候,要边框没有的时候还是要写 border: 0 none;
第三行 ul, li 里就不用解释了吧,大家都明白怎么回事。
第四行h1, h2, h3, h4, h5, h6 还是根据要搭的页面标题字体大小来修改,或是把 h1 h2 h3 h4 这些选择器分开来写各自的字体大小。
第五行body, input, select, button, textarea 是因为我搭页面的时候发现ie6里的文本框和下拉菜单等... 里的字体大小不是正常的12号字体,所以在兼容性上不是很完美,所以我就写了字体的大小为12号,然后在 firfox 里这些标签的字体默认又是宋体,所以我就又写上了字体,然后 body 也要写字体大小和大小,所以就在 input 的前面加上了 body,所以后面就不用再写了。
第六行 button 这个按钮的鼠标触发属性是默认的箭头,在用户体验上不是特别好,所以我把鼠标触发的属性改成了小手。
第七行就是在写一些不是特别重要 或是装饰的标签时我就是用到这些选择器 由于他们都有文字的默认属性,所以我去掉了,在用到的时候不至于出问题。
第八行 body 写背景色 是因为有的 windows 系统外观会把浏览器背景色也改成别的色,所以为了不会问题,就加上背景白色了,然后再加上文字颜色,字体大小和字体我在前面已经写了。
第九行到第十一行 a:link 这些大家写的都差不多吧?
第十二行 点击链接时出现的虚线框消失,就是消除焦点。(描述不太专业,见谅!)
在下面我写了 .fixed 和 .clear 这两个清除浮动的样式
具体这两个我都用在什么地方呢?我画了两张示意图看了后 大家就会明白了!
.fixed 的例子
m_1296646748789.jpg

 
.clear 的例子
m_1296646719205.jpg
 
还有就是讲解一下 关于 .clear 里面很多属性我要写 !important 的问题
因为我们在写子级盒子浮动的时候 肯定会写到 float: left; margin或是 padding,还有 width 等等,我也在 .clear的属性里把尽可能会发生冲突的属性加了!important,浏览器就会把这些属性的优先级排到最前,并且ie6也是支持读取!important的,大家会想到,ie6浏览器只要读到相同的属性,以最后的属性为优先级,但是他是对于在同一样式内的,而不是同一样式内的属性他就不会以最后的属性为优先了 看下面这段代码
m_1296725405383.jpg
大家看完这两段代码后就会明白了!
.more 这个样式 搭页面的过程中 栏目或是标题栏肯定会有更多这个链接,所以我就在前面加了这个样式,在后面就减少了 float: right 这个属性,这个的意义不是很大。
.fl .fr 这两个我是在一些需要向左或是向右浮动的盒子上附加的,这样写灵活性很高,也可以省掉一部分css代码。
二、讲一些自己对ie6浏览器显示bug的一些兼容样式
我想现在大家都在用 jquery 或是其他一些的js框架吧?
我们在用到这些框架开发出的灯箱相册时(就是点击图片后 图片弹出 图片与网页之间有一层遮罩类的)。
有的灯箱相册代码写的不是很完善,例如:ie6下,当内容的高度不足以撑满整个页面时,再点击相册中的一张图片时,我们发现图片后面的遮罩层并没有把整个浏览器占满。
如下图:
 m_1296646776163.png
 
这时候我们会想到要不要换一个代码来用,但是这个相册代码除了遮罩这个外其他都很完善,找不到其他的完善的相册时。我们怎么办?
下面就是我写的css 解决方案!浏览器分辨率目前测试最高的是1050px。
代码如下:
*html body { overflow-x: hidden; position: relative; height: 99%; margin-top: -1.5%; padding-top: 1%; }
*html { padding-top: 1.5%; }
接下来我来做一下解释
overflow-x: hidden; position: relative; margin-top: -1.5% 这三个属性是为了让高度为 99%的时候不在右侧出现滚动条,而padding-top: 1%; 这个是为了让在高分辨率显示器下右侧不出现滚动条
而 *html { padding-top: 1.5%; } 则是为了添补上面样式中写到的 margin-top: -1.5%; 这个负值。
大家可以在用jquery或是其他js框架的开发出来有缺陷的代码中测试一下这段代码
三、写css时和程序员之间的沟通
各位酷友在搭完页面后与程序员沟通时会有些小问题。
注:下面的建议里写的都是关于和asp.net程序员之样式命名的问题。
例如我们在写子级样式时,会这样写:.wraper form {},这样写的时候,我们要考虑这个页面内有没有分页之类的代码了,因为asp.net程序员会在有分页的页面内加一个 form 控件 这样我们写在里面的form 就会被去掉,所以我们要把.wraper form {} 改成.wraper .formWraper {} 就可以,这样问题就会解决了
还有就是复选框和单选框的地方。
 
 
 
m_1296725438220.jpg
类似于这样的写法 在asp.net里 大部分程序员还是爱拿服务器控件,输出到前台页面后,就会变成
m_1296725509794.jpg
变成这样后,前台页面就会变乱,所以我们碰到类似的情况时还是要更改一下写法
还有一个就是 button {}
在asp.net 里也会用到服务器控件,输出到前台,就会就成 m_1296725596996.jpg 这样的话 我们的样式又无效了,所以要给这个按钮起一个样式名,而不能用选择器,例:.message_btn {}
 
 
 
 
差不多就这些问题。以后有了会继续更新的!
四、一些自己对大家的建议。
由于自己是自学的css样式,还有就是没有英语基础,所以在这里建议和我一样也没有什么英语基础的也在自学或是有一部分基础的酷友们在写样式的时候尽量手写,不要用软件自带的联想功能,当你没有这个软件的时候,你就会有些困难了,还有就是样式的名称尽量用英文,就算你不明白这个名字是什么意思,也可以先翻译一下,知道大概的意思,以后用的多了自然也就知道是什么意思了,对于以后学习其他的东西是有帮助的。
推荐刚刚学习和有了一部分基础的酷友们一本CSS的进阶书籍,精通CSS:高级Web标准解决方案 这本书的封面是青灰色的。大家可以上网看看!
呃.. 这就是目前自己写的一些心得吧,写的比较乱,也比较啰嗦,如果文章内有错误的地方,请大家提出,我会尽快修改,和大家一起进步,一起学习!
这是做网页制作到现在自己认为搭的最好的网站!还未上线
嫣然基金的静态网站 http://www.simleangelfoundation.org/index.html
新年到了,祝大家在新的一年里,在各自的领域里,取得更大的进步!
本文由 站酷网 - sblqtd 原创,转载请保留此信息,多谢合作。

转载于:https://www.cnblogs.com/xgcblog/archive/2011/06/29/2093599.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上班族吐槽大集合:那些发生在公司的傻X奇遇

“明明不需要加班,到了点却偏偏没人起身走。”—— 小爱“头脑风暴,人越多效率越低下,最后风暴出来的东西也很难落实。”—— 好奇心“只是申请个办公用品,需要人事处签字,行政部签字,总监签字,…

C# 9 record 并非简单属性 POCO 的语法糖

最近升级专案到大统一 .NET 5 并使用 C#9 语法尝试改写套件,发现之前以为 record 只是简单属性 POCO 的简化语法糖的认知是错误。另外因为 POCO 属于需定义口语词,这边在本文定义简单属性 POCO 为 public class 类别 {public string ID{get;set}/*略*/} 只有属性的简…

java实现思维导图_Java并发(思维导图)

1,线程状态转换无限期等待:限期等待:线程生命流程:2,实现方式代码实现样例【三种方式】:packagecom.cnblogs.mufasa.demo2;importjava.util.concurrent.Callable;public class test1_Runnable implementsRu…

这本免费小书,带你征服 GitHub!

GitHub 漫游指南,一本有趣又通俗的 GitHub 教程,想要成为 star 之王么?今天给大家分享一份通俗易懂的 GitHub 学习教程,即《GitHub 漫游指南》。看过了不下十套 GitHub 教程了,小编愿称它为最强!虽然没有 G…

jQuery formValidator表单验证插件4.1.0 下载 演示 文档 可换肤 代码生成器

更新记录: 2011/6/5 jQuery formValidator 4.1.0 ver申明:1、所有DEMO引用jQuery类库的时候,类库后面直接跟了版本号——表示插件支持的最高类库版本号2、插件的命名:插件名版本号,压缩版:插件名版本号min新增以下功能…

java context.write_Channel.write() 和 ChannelHandlerContext.write() 的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。看了下netty 源代码, 终于明白了Channel.write() 和 ChannelHandlerContext.write() 的区别了网上说的都不是很清楚首先注明我的netty版本io.nettynetty-all4.0.36.FinalChannelPipeline处理ChannelH…

美国劳工部揭露中国女人大数据,看完彻底傻眼了……

导读:“中国人的勤奋,令世界惊叹和汗颜,甚至有一点恐惧。”——科斯,诺贝尔经济学奖得主那么中国人的“勤奋”能否用数据来量化一下呢?答案是可以的。另外,如果以性别来区分,究竟是中国男性更勤…

计算机女神,互联网第一夫人!

大家好,我是鱼皮,今天带大家认识一位计算机领域的女神,有关她的故事非常有趣!先聊聊我是如何认识女神的吧。那是我在大四做毕业设计的时候,误打误撞地选了一个图像处理相关的课题,要做一个显微图像处理分析…

NET问答: 如何从 string 中挖出所有的 number ?

咨询区 van:我现在有一个需求,想从 string 中找到所有的 number 并提取出来。举例如下:string test "1 hello" string test1 " 1 world" string test2 "helloworld 99"请问我该如何做?回答区 Tabares:这个简…

大数据告诉你:学历真的能改变命运

央视新闻曾做过关于高考的调查,结果有七成网友支持高考取消数学,看到新闻后,有一位网友却一针见血地评论道:数学考试存在的意义就是把这七成网友筛选掉。的确,虽然买菜不需要专业数学知识,但数学可以决定我…

mysql控制台教程视频教程_mysql 控制台操作

一、连接mysql数据库1.首先打开cmd进入dos窗口2.切换至目录:D:\MySql5.0\mysql-5.0.51b-win32\bin(即:mysql安装目录下面的bin目录,该目录内有很多exe执行文件)3.键入命令:mysql -uroot -p 回车,提示输入密码&#xff…

Dapr微服务应用开发系列5:发布订阅构建块

题记:这篇介绍发布订阅构建块,这是对事件驱动架构设计的一种实现落地。注:对于“Building Blocks”这个词组的翻译,我之前使用了“构件块”,现在和官方文档(Dapr中文社区的贡献)保持一致&#x…

【资源】机器学习资料包来袭

近几年,机器学习一直很火,小编也有意识地收集了机器学习相关的资源,经过长时间的积累和沉淀,已经拥有将近17G的吴恩达老师、李宏毅老师和王保明老师机器学习资料和视频。现在,小编准备将这些资料免费分享给大家&#x…

java 字符串 去除_java 字符串中去除特定的字符

java String字符串 去除特定的字符 程序如下package com.xing.test;import java.util.regex.Matcher;import java.util.regex.Pattern;/**** author Yinxing**/public class NotString {public static void main(String[] args) {// TODO Auto-generated method stubString st…

深度学习了40万个表情,一大波AI 表情包来了

自从有了表情包,跟人聊天时的第一反应,就是去找找看有什么适合的表情。有一类表情包,形式是文字图,尤其能够精妙地抒发和传递感情。在这一点上,可能全世界的网友都一样。好用的表情永远不嫌多,而且似乎总是…

网关Ocelot功能演示安排的明明白白~~~

前言网关(Gateway)在微服务架构中至关重要,可以将其理解为是外部客户端(前端、MVC后台等调用方)与后台服务的连接点,通过这层可以做统一的处理,比如路由、身份认证和授权、服务治理等;网关的好处:统一入口,…

通过Dapr实现一个简单的基于.net的微服务电商系统

本来想在Dpar 1.0GA时发布这篇文章,由于其他事情耽搁了放到现在。时下微服务和云原生技术如何如荼,微软也不甘示弱的和阿里一起适时推出了Dapr(https://dapr.io/),园子里关于dapr的文章不太多,所以今天就借…

基于 Python 自建分布式高并发 RPC 服务

RPC(Remote Procedure Call)服务,也即远程过程调用,在互联网企业技术架构中占据了举足轻重的地位,尤其在当下微服务化逐步成为大中型分布式系统架构的主流背景下,RPC 更扮演了重要角色。Google 开源了 gRPC…

程序员江湖鄙视链大全,看看你处于链条的哪一级?

有人的地方就有江湖。程序员,是一个知识、智商、都异于常人的 群体,有人总结了程序员江湖等级鄙视链的方法和流程。老婆漂亮的程序员鄙视老婆不漂亮的程序员鄙视有女友的程序员鄙视单身狗程序员而在单身狗之间,才有了语言,编辑器和…

java什么是静态_什么是java静态

什么是java静态java静态包括静态变量、静态方法、静态初始化块,以下是静态的详解。(推荐教程:java教程)1. 什么是静态变量大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。然而在…