热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CSS语法与技巧。

转自:微点阅读https:www.weidianyuedu.combcredible上列出了不少关于CSS使用语法上的小技巧,还是比较实用的。以前很多东

转自:微点阅读  https://www.weidianyuedu.com

bcredible上列出了不少关于CSS使用语法上的小技巧,还是比较实用的。以前很多东西只知道要这么写,可很少去考虑为什么。看来用CSS能做的事情远远比自己所了解的要多。

1. CSS字体定义简写规则

一般的写法会是这样:

font-weight: bold;

font-style: italic;

font-varient: small-caps;

font-size: 1em;

line-height: 1.5em;

font-family: verdana,sans-serif

而实际上你可以用更简洁的写法:

font: bold italic small-caps 1em/1.5em verdana,sans-serif

是不是更省事?不过使用这种简写需要注意几点:要使简写定义有效必须至少提供 font-size 和 font-family 这两个属性;同时font-weight, font-style 以及 font-varient 这几个属性如果不做设定的话将默认为normal。

2. 同时使用两个Class定义

一般我们只会给内容块指定一个Class,但这并不代表我们只能指定一个。实际上只要你愿意,可以同时把任意多个Class赋给某块内容。比如:

p ... /p

多个Class之间用空格分隔即可。当多个Class之间的属性发生重叠的时候,将根据各个Class在CSS定义文件中被定义的位置,后定义的Class属性自动覆盖之前定义的Class属性(而不是根据你在 这里排列的顺序来进行覆盖)

3. CSS border的缺省值

通常我们定义border属性都会提供color,width,style这些属性。比如 border: 3px solid #000 。不过实际上必须要提供的属性只有style。如果你只写 border: solid 的话,其他的属性自动使用缺省值。border的缺省宽度是medium(大约3px-4px),缺省的颜色是位于border里面的内容文字的颜色。如果这些缺省值可以满足你的要求,你完全可以省略这两项属性。

4. 专门用于打印的CSS文档

很多web页面都会提供一个打印链接,方便用户使用另一种适合打印界面的CSS。但实际上你完全可以为你的页面指定两个CSS文档link,这样浏览器会自动调用合适的CSS来用于显示或打印。比如:

link type="text/css" rel="stylesheet" href="stylesheet.css" media="screen" /

link type="text/css" rel="stylesheet" href="printstyle.css" media="print" /

通过指定link的media属性,浏览器就能根据需要来调用特定的CSS文件来处理页面了。关于打印更多的建议,请参见 Print Different,

5. CSS中的内容垂直对齐

用传统的table来实现垂直对齐很容易,只要用 vertical-align: middle 就可以让table的内容垂直居中。但这个属性在CSS里面却行不通。

解决方法是把内容的行高设置成与内容块一样高。比如你的div高是32px,那就在你的CSS定义里面添加属性 line-height: 32px; 这样文字看上去就垂直居中于层里面了。不过这个方法只适用于单行文字,对于多行文字,似乎没有什么好方法。

6. 让背景色能够垂直拉齐到底部

CSS与传统的table来说另一个让人不爽的地方是它的垂直层的对齐。如果你的页面分为两列,其中一列比较长而另一列比较短,同时两列的背景色和页面总的背景色是不同的话,显示出来的效果就比较丑陋,不像table那样只要把td的高度设成100%就能够把每一列的高度拉到一样长。

要解决这个问题似乎只能用一个取巧的办法,根据每列的宽度和背景色设置背景图片,让用户看上去似乎拉平了:

body

{

background: url(blue-image.gif) 0 0 repeat-y

}

7. block / inline 属性

任何一个HTML元素都是block或者inline的。

block元素的特性包括:

总是另起一行开始显示

height, line-height, top/bottom margin属性可以被设置

width缺省值是100%,除非你指定了另外的width值

这一类的HTML元素包括 div , p , h1 , form , ul 以及 li 等。

inline元素的特性包括:

直接跟在当前行的后面显示

height, line-height, top/bottom margin属性不能改变

width值就等于包含其中的文字/图片的宽度,并且这个值不能被改变

这一类的HTML元素包括 span , a , label , input , img , strong 以及 em 等。

你可以通过设置元素属性display: inline 或 display: block来改变元素的以上特性。

8. 设置页面的最小宽度

CSS语法中很有用的一个属性是 min-width 。通过这个属性你可以设置任何元素的最小宽度。也就是说你也可以用这个来限制页面显示的最小宽度。

但有个小问题是:IE浏览器无法为 body 元素设置min-width,因此要让这个属性起作用,我们需要走点弯路。

首先在 body 后面插入一个 div :

body

div

然后在CSS定义里面定义最小宽度为600px:

#container

{

min-width: 600px;

width:expression(document.body.clientWidth 600? "600px": "auto" );

}

第一个属性是最小宽度定义的标准写法;第二个属性则是只有IE能够理解的Javascript表达式。

你也可以同时设定页面的最大最小宽度:

#container

{

min-width: 600px;

max-width: 1200px;

width:expression(document.body.clientWidth 600? "600px" : document.body.clientWidth 1200? "1200px" : "auto");

}

9. Text-transform 属性

这个属性可能也是CSS当中用的人不多但却很有用处的属性之一。其常见的可用值包括:text-transform: uppercase, text-transform: lowercase 以及 text-transform: capitalize。第一个将把所有的字母转化成大写;第二个将范文大全把所有字母转成小写;第三个则把每个单词的首字母转成大写。不过对于非英文网站来说,这个功能确实就没什么用了。

10. IE中消失的文字和图片

IE有个很莫名其妙的Bug:有时候文字或者背景图片死活显示不出来。如果你全选整个页面,会发现那些内容实际上还在那里,或者重新刷新一下页面显示就正常了。

通常来说这个问题都发生在那些跟在浮动元素后面显示的文字或背景图片身上。要解决这个问题,可以试试给你的那些消失的元素加上position: relative 属性。如果还不行,再试试设置一下width属性。一般来说这样做之后问题就解决了。


推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 【MEGA DEAL】Ruby on Rails编码训练营(97%折扣)限时特惠!
    本文介绍了JCG Deals商店提供的Ruby on Rails编码训练营的超值优惠活动,现在只需29美元即可获得,原价为$1,296。Ruby on Rails是一种用于Web开发的编程语言,即使没有编程或网页设计经验,也能在几分钟内构建专业的网站。该训练营共有6门课程,包括使用Ruby on Rails进行BDD的课程,使用RSpec 3和Capybara等。限时特惠,机会难得,赶快行动吧! ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
author-avatar
起薪d这帖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有