由来

从事软件行业一晃也5年有余,之间参与过若干个基于web的项目,所以javascript和Html基本已经相当熟悉,最近对于web前端开发比较关注,分析后发现CSS的确是自己的弱项,于是决定再加强下。就开始啃本书吧:CSS权威指南》,此处以及以后文章都将以学习该书为基础展开。

以下是第一章:“CSS和文档” 学习笔记

概念区分

替换和非替换元素

CSS起作用主要依赖于元素,但并非所有的元素都以相同的方式创建。比如,图像和段落就不是同类元素,span和div也不相同,通常元素的表现形式有两类:替换和非替换。

    • 替换元素(replaced element)

指用来替换元素内容的部分并非由文档内容自己标示。比如img元素,img没有具体内容,它的具体靠src属性指定的一个图像来填充。再比如:<input /> type="text" 的是,这是一个文本输入框,换一个其他的属性(button)时候,浏览器显示就不一样。(X)HTML中的<img>、<input>、<textarea>、<select>、<object>都是替换元素,这些元素都没有实际的内容。

    • 非替换元素(nonreplaced element):

大多数(X)HTML元素都是非替换元素,其内容由浏览器在元素本身生成的框中显示。比如<span>css base</span>就是一个非替换的元素。

块元素和行内元素

    • 块元素:

块元素生成一个元素框,默认情况下(没有css干预下),它会填充其父元素的内容区,旁边不能有其他元素。比较熟悉的有p和div。可以把块元素div想象成一个个box,或者如果你玩过剪贴文载的话,那就更加容易理解了。我们先把需要的文章从各种报纸、杂志剪下来。每块剪下来的内容就是一个block。然后我们把这些块按照自己的排版意图,用胶水重新贴到一张空白的新纸上。这样就形成了你自己独特的文摘快报了。

    • 行内元素:

行内元素在一个文本行内生成元素框,而不会打断这行文本。最好的例子就是XHTML中的a元素。这些元素不会在它本身之前或者之后生成“分隔符”,所以可以出现在另一个元素内容中,而不会破坏其显示。

当然在实际的使用过程中往往会用css属性来其作用:display。这个属性是使用,会在后期学习奉上。

关于link

一般一个html页面要引用独立文件的css样式,都会用到link标签,比如:

<link rel=”stylesheet” type=”text/css” href=”sheet1.css” media=”all”>

在使用过程中需要注意几点:

    • Link必须放在head元素中,不能放在其他元素内部<如title>。
    • Css文件中不能包含XHTML或任何其他标记语言。
    • 外部引用css文件不一定非得有个扩展名,但是基于对旧版本的浏览器的支持,建议写明.css结尾。

另外在使用过程中,我们也很少接触一个link标签属性:title(获选样式表中使用)。比如:

<link rel=”stylesheet” type=”text/css” href=”sheet1.css” title=”default”>
<link rel=”stylesheet” type=”text/css” href=”sheet1.css” title=”big-text”>

很多浏览器支持用户选择样式,通过添加title用户可以基于浏览器进行样式的切换,当然IE目前还是不支持,这个功能也用的比较少。

重拾CSS基础—开篇的更多相关文章

  1. 重拾C++ 基础知识总结(二)

    1.标准库string类型: 用户程序要使用string类型对象,必须包含相关头文件 #include <string> 字符串字面值与标准库string类型不是同一种类型,字符串字面值是 ...

  2. 重拾C++ 基础知识总结(一)

    1.使用gcc编译c++文件报错 proc1.cc:(.text+0x14): undefined reference to `std::cout' C++程序使用gcc命令只能编译,不能链接库文件 ...

  3. CSS魔法堂:重拾Border之——更广阔的遐想

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  4. CSS魔法堂:重拾Border之——图片作边框

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  5. CSS魔法堂:重拾Border之——不仅仅是圆角

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  6. CSS魔法堂:重拾Border之——解构Border

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  7. 重拾Java Web应用的基础体系结构

    目录 一.背景 二.Web应用 2.1 HTML 2.2 HTTP 2.3 URL 2.4 Servlet 2.4.1 编写第一个Servlet程序 2.5 JSP 2.6 容器 2.7 URL映射到 ...

  8. HTML5 -入门 (---css样式-------------(css基础与css选择器)---------------------—)

    ---恢复内容开始--- 一css基础入门与css选择器 CSS英文全拼:cascading style sheet 层叠样式表. 在html中使用:要在head中写style标签,所有样式放在sty ...

  9. CSS 基础总结

    CSS基础 Doctype 声明位于文档中的最前面,处于 标签之前.告知浏览器的解析器,用什么文档类型 规范来解析这个文档. 在标准模式中,浏览器根据规范呈现页面: 在混杂模式中,页面以一种比较宽松的 ...

随机推荐

  1. $.browser.msie jq解析不出来的原因及解决方法

    检查是否为 IE6:// Oldif ($.browser.msie && 7 > $.browser.version) {}// Newif ('undefined' == t ...

  2. PagerAdapter instantiateItem()方法position错误解决方案

    异常信息:java.lang.IndexOutOfBoundsException: index=3 count=2 在instantiateItem各个条目View的时候.会有 container.a ...

  3. 说出x的结果,并解释为什么?

    var x = 1; if(function f(){}){ x += typeof f; } x; //x的结果是? x=1undefined 首先是 if表达式的问题 if括号里,不一定非要用== ...

  4. PHP MySql数据库访问

    PHP MySql数据库访问 计应134   凌豪 1.MySql数据库的连接 要操作MySql数据库,首先必须与MySQl数据库建立连接,连接MySQL服务器的语句如下: <?php$link ...

  5. Struts2部分标签

    由于Struts多用OGNL语言所以使用给类标签之前需引入<%@taglib prefix="s" uri="/struts-tags"%> 1.f ...

  6. submit与onsubmit(转)

    发生顺序:onsubmit -> submit 1.阻止表单提单: <script>function submitFun(){    //逻辑判断    return true; / ...

  7. 在cad中画一条长500mm,垂直90度的线段

    视频教程奉上 方法1.点击线段按钮,鼠标指定一点,输入500,再输入<90. 方法2,点击线段按钮,鼠标指定一点,输入500,按tab,再输入90.

  8. XP下Virtualbox虚拟Ubuntu共享文件夹设置

    环境:主机操作系统是Windows XP,虚拟机是Ubuntu 8.10,虚拟机是VirtualBox 2.1.0. 1. 安装增强功能包(Guest Additions) 安装好Ubuntu 8.1 ...

  9. restful_api

    http://www.ruanyifeng.com/blog/2014/05/restful_api.html

  10. poj1543---完美立方(枚举)

    #include <stdio.h> #include <stdlib.h> int main() { int cube[101],n,i,a,b,c,d; for(i=1;i ...