重拾CSS基础—开篇
由来
从事软件行业一晃也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基础—开篇的更多相关文章
- 重拾C++ 基础知识总结(二)
1.标准库string类型: 用户程序要使用string类型对象,必须包含相关头文件 #include <string> 字符串字面值与标准库string类型不是同一种类型,字符串字面值是 ...
- 重拾C++ 基础知识总结(一)
1.使用gcc编译c++文件报错 proc1.cc:(.text+0x14): undefined reference to `std::cout' C++程序使用gcc命令只能编译,不能链接库文件 ...
- CSS魔法堂:重拾Border之——更广阔的遐想
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——图片作边框
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——不仅仅是圆角
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- CSS魔法堂:重拾Border之——解构Border
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- 重拾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映射到 ...
- HTML5 -入门 (---css样式-------------(css基础与css选择器)---------------------—)
---恢复内容开始--- 一css基础入门与css选择器 CSS英文全拼:cascading style sheet 层叠样式表. 在html中使用:要在head中写style标签,所有样式放在sty ...
- CSS 基础总结
CSS基础 Doctype 声明位于文档中的最前面,处于 标签之前.告知浏览器的解析器,用什么文档类型 规范来解析这个文档. 在标准模式中,浏览器根据规范呈现页面: 在混杂模式中,页面以一种比较宽松的 ...
随机推荐
- $.browser.msie jq解析不出来的原因及解决方法
检查是否为 IE6:// Oldif ($.browser.msie && 7 > $.browser.version) {}// Newif ('undefined' == t ...
- PagerAdapter instantiateItem()方法position错误解决方案
异常信息:java.lang.IndexOutOfBoundsException: index=3 count=2 在instantiateItem各个条目View的时候.会有 container.a ...
- 说出x的结果,并解释为什么?
var x = 1; if(function f(){}){ x += typeof f; } x; //x的结果是? x=1undefined 首先是 if表达式的问题 if括号里,不一定非要用== ...
- PHP MySql数据库访问
PHP MySql数据库访问 计应134 凌豪 1.MySql数据库的连接 要操作MySql数据库,首先必须与MySQl数据库建立连接,连接MySQL服务器的语句如下: <?php$link ...
- Struts2部分标签
由于Struts多用OGNL语言所以使用给类标签之前需引入<%@taglib prefix="s" uri="/struts-tags"%> 1.f ...
- submit与onsubmit(转)
发生顺序:onsubmit -> submit 1.阻止表单提单: <script>function submitFun(){ //逻辑判断 return true; / ...
- 在cad中画一条长500mm,垂直90度的线段
视频教程奉上 方法1.点击线段按钮,鼠标指定一点,输入500,再输入<90. 方法2,点击线段按钮,鼠标指定一点,输入500,按tab,再输入90.
- XP下Virtualbox虚拟Ubuntu共享文件夹设置
环境:主机操作系统是Windows XP,虚拟机是Ubuntu 8.10,虚拟机是VirtualBox 2.1.0. 1. 安装增强功能包(Guest Additions) 安装好Ubuntu 8.1 ...
- restful_api
http://www.ruanyifeng.com/blog/2014/05/restful_api.html
- poj1543---完美立方(枚举)
#include <stdio.h> #include <stdlib.h> int main() { int cube[101],n,i,a,b,c,d; for(i=1;i ...