2022-11-12 分类: 网站建设
CSS日常公用样式与一些解决方案
由于XHTML+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 的例子
.clear 的例子
还有就是讲解一下关于.clear 里面很多属性我要写!important 的问题
因为我们在写子级盒子浮动的时候肯定会写到float: left; margin或是padding,还有width 等等,我也在.clear的属性里把尽可能会发生冲突的属性加了!important,浏览器就会把这些属性的优先级排到最前,并且ie6也是支持读取!important的,大家会想到,ie6浏览器只要读到相同的属性,以最后的属性为优先级,但是他是对于在同一样式内的,而不是同一样式内的属性他就不会以最后的属性为优先了看下面这段代码
大家看完这两段代码后就会明白了!
.more 这个样式搭页面的过程中栏目或是标题栏肯定会有更多这个链接,所以我就在前面加了这个样式,在后面就减少了float: right 这个属性,这个的意义不是很大。
.fl .fr 这两个我是在一些需要向左或是向右浮动的盒子上附加的,这样写灵活性很高,也可以省掉一部分css代码。
二、讲一些自己对ie6浏览器显示bug的一些兼容样式
我想现在大家都在用jquery 或是其他一些的js框架吧?
我们在用到这些框架开发出的灯箱相册时(就是点击图片后图片弹出图片与网页之间有一层遮罩类的)。
有的灯箱相册代码写的不是很完善,例如:ie6下,当内容的高度不足以撑满整个页面时,再点击相册中的一张图片时,我们发现图片后面的遮罩层并没有把整个浏览器占满。
如下图:
这时候我们会想到要不要换一个代码来用,但是这个相册代码除了遮罩这个外其他都很完善,找不到其他的完善的相册时。我们怎么办?
下面就是我写的css 解决方案!浏览器分辨率目前测试最高的是1050px。
代码如下:
*html body { overflow-x: hidden; position: relative; height: 99%; margin-top: -1.5%; padding-top: 1%; }
*html { padding-top: 1.5%; }
*html body { overflow-x: hidden; position: relative;height: 99%; margin-top: -1.5%; padding-top: 1%; }
*html { padding-top: 1.5%; }
*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 {} 就可以,这样问题就会解决了
还有就是复选框和单选框的地方。
类似于这样的写法在asp.net里大部分程序员还是爱拿服务器控件,输出到前台页面后,就会变成
变成这样后,前台页面就会变乱,所以我们碰到类似的情况时还是要更改一下写法
还有一个就是button {}
在asp.net 里也会用到服务器控件,输出到前台,就会就成这样的话我们的样式又无效了,所以要给这个按钮起一个样式名,而不能用选择器,例:.message_btn {}
差不多就这些问题。以后有了会继续更新的!
四、一些自己对大家的建议。
由于自己是自学的css样式,还有就是没有英语基础,所以在这里建议和我一样也没有什么英语基础的也在自学或是有一部分基础的酷友们在写样式的时候尽量手写,不要用软件自带的联想功能,当你没有这个软件的时候,你就会有些困难了,还有就是样式的名称尽量用英文,就算你不明白这个名字是什么意思,也可以先翻译一下,知道大概的意思,以后用的多了自然也就知道是什么意思了,对于以后学习其他的东西是有帮助的。
推荐刚刚学习和有了一部分基础的酷友们一本CSS的进阶书籍,精通CSS:高级Web标准解决方案这本书的封面是青灰色的。大家可以上网看看!
文章名称:CSS日常公用样式与一些解决方案
本文地址:/news/212745.html
成都网站建设公司_创新互联,为您提供营销型网站建设、网站设计公司、网站改版、网站导航、云服务器、做网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容