CSS 初体验之一

层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式。

1.首先先看盒装模型,如下图,平时设置的width,height是指元素内容(content)的width,height,一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界;

2.三种元素分类:block,inline,inline-block

 2.1 block

  块级元素特点:
  1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(一个块级元素独占一行)
  2、元素的高度、宽度、行高以及顶和底边距都可设置。
  3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度

  在html中<div>、<p>、<h1>、<form>、<ul> 和 <li>就是块级元素。设置display:block就是将元素显示为块级元素。

  如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点。a{display:block;}

 2.2 inline

  内联元素特点:
  1、和其他元素都在一行上;
  2、元素的高度、宽度及顶部和底部边距不可设置;
  3、元素的宽度就是它包含的文字或图片的宽度,不可改变。<span>、<a>、<label>、 <strong> 和<em>就是典型的内联元素(行内元素)(inline)元素。

  块状元素也可以通过代码display:inline将元素设置为内联元素

 2.3 inline-block

  内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,

  代码display:inline-block就是将元素设置为内联块状元素。(css2.1新增),<img>、<input>标签就是这种内联块状标签。
  inline-block 元素特点:
  1、和其他元素都在一行上;
  2、元素的高度、宽度、行高以及顶和底边距都可设置。

3 padding&margin

  Padding:分为上、右、下、左(顺时针)
  div{padding:1px 2px 3px 4px;}
  div{padding:10px(top-bottom) 20px(left-right);}
  div{padding:10px}
  Margin:上、右、下、左
  div{margin:20px 10px 15px 30px;}
  div{margin:10px;}
  div{margin:10px 20px;}

  如果top、right、bottom、left的值相同,如:margin:10px 10px 10px 10px;

  可缩写为:margin:10px;

  如果top和bottom值相同、left和 right的值相同,如下面代码:margin:10px 20px 10px 20px;

  可缩写为:margin:10px 20px;

  如果left和right的值相同,如下面代码:margin:10px 20px 30px 20px;
  可缩写为:margin:10px 20px 30px;

4.font

body{
  font-style:italic;
  font-variant:small-caps;
  font-weight:bold;
  font-size:12px;
  line-height:1.5em;
  font-family:"宋体",sans-serif;
  }
  这么多行的代码其实可以缩写为一句:
  body{
    font:italic small-caps bold 12px/1.5em "宋体",sans-serif;
  }

5 布局之FLOW、Float、Layer

Flow默认流动布局方式,即 一个div占一行

float浮动布局,设置元素为浮动:float:left/right

layer层布局:

层模型有三种形式:
1、绝对定位(position: absolute)
2、相对定位(position: relative)
3、固定定位(position: fixed)

position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位
position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。

相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动(虽然位置移动了 但是它的占有空间还保留在原地)。

position:fixed:表示固定定位的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化

相对于参照物进行绝对定位(用一个div作为参考对另一个div定位):
1、参照定位的元素必须是相对定位元素的前辈元素:
<div id="box1"><!--参照定位的元素-->
<div id="box2">相对参照元素进行定位</div><!--相对定位元素-->
</div>
从上面代码可以看出box1是box2的父元素(父元素当然也是前辈元素了)。
2、参照定位的元素必须加入position:relative;
#box1{
width:200px;
height:200px;
position:relative;
}
3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。
#box2{
position:absolute;
top:20px;
left:30px;
}

时间: 2025-01-01 03:50:45

CSS 初体验之一的相关文章

CSS 初体验之Line-height

p{ line-height:20px; } line-height : normal | length 参数: normal : 默认行高length : 百分比数字 | 由浮点数字和单位标识符组成的长度值,允许为负值.其百分比取值是基于字体的高度尺寸.请参阅长度单位 说明: 检索或设置对象的行高.即字体最底端与字体内部顶端之间的距离.如行内包含多个对象,则应用最大行高.此时行高不可为负值. 对应的脚本特性为lineHeight.请参阅我编写的其他书目. 示例: div {line-heigh

AngularJS路由系列(3)-- UI-Router初体验

本系列探寻AngularJS的路由机制,在WebStorm下开发. AngularJS路由系列包括: 1.AngularJS路由系列(1)--基本路由配置2.AngularJS路由系列(2)--刷新.查看路由,路由事件和URL格式,获取路由参数,路由的Resolve3.AngularJS路由系列(3)-- UI-Router初体验4.AngularJS路由系列(4)-- UI-Router的$state服务.路由事件.获取路由参数5.AngularJS路由系列(5)-- UI-Router的路由

leaflet开源地图库源码阅读笔记(一)——简介&amp;Demo初体验(by vczero)

一.简介 电子地图已经在O2O.生活服务.出行等领域布局,传统的GIS也孕育着互联网基因.传统GIS的图商有ESRI(Arc系列).四维.高德.超图.中地等等.在web互联网领域,百度和高德较为出色.但是开放源代码都远远做的不够,相比而言国外开源较多且丰富,最近认真研读了openlayers2/3和leaflet的源码,收获颇多,不仅加强对浏览器兼容性.HTML5.CSS3等基础,还增强了GIS的基础.本人现在也在一家互联网公司做js api的研发,因此,需要不断地吸取开源代码的营养. leaf

我是如何初体验uglifyjs压缩JS的

一.故事总有其背景 年末将至,很多闲适的时间,于是刷刷微博,接触各种纷杂的信息——美其名曰“学习”.运气不错,遇到了一个新名词,uglifyjs. 据说是用来压缩JS文件的,据说还能优化JS,据说是基于node的,还据说比Google Closure Compiler更带感,哦?激起了我的好奇心.百之谷之,哟,相关的介绍还不少.然后折腾了个把小时,基本上知道了是个怎么回事. 我觉得吧,还是有些用的,即使是不是从事node开发的人,抽个小空,share之,于是就有了本文.人总有浮躁的时候,我也不例

[开发笔记]-Jqplot图表初体验

文章内容为初次使用Jqplot图表插件的测试代码,仅供参考. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <link href="js/jqpl

ionicframework I ------------- 初体验

ionicframework I -------------  初体验 Create hybrid mobile apps with the web technologies you love. Free and open source, Ionic offers a library of mobile-optimized HTML, CSS and JScomponents for building highly interactive apps. Built with Sass and op

Node.js 网页瘸腿爬虫初体验

延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // 内置文件处理模块 var fs=require('fs'); // 创建一个将流数据写入文件的WriteStream对象 var outstream=fs.createWriteStream('./1.txt'); /

ASP.NET MVC学习---(五)MVC初体验

经过之前n多的铺垫 我们已经大概了解了这个姓m名vc的家伙了 那么今天我们就来体验一把 怎么体验呢? 就来做一个小例子吧~ mvc增删改查的例子 数据库还是之前我们的老朋友 关系图: 表中的数据已填好 T_Users 将就着用着吧,哈哈 现在要求对T_Users表进行增删改查 开搞~ 回到之前新建的mvc项目 在Controllers文件夹下新建一个名为Home的空控制器 当浏览器请求Home下面的Index方法的时候返回什么? 当然是主页面啦 这里我们的主页面就是显示T_Users数据列表 代

js随堂初体验(一)

Js初体验(-) 1 js的基础知识 A web三大标准:1 html:结构标准    2 css:表现标准  3 javascript:行为标准 B js三种书写方式:1 行内js:onclick = "alert=('AAAAA')" 2 内嵌js:在html页面中通过一对script标签,js代码写在script标签中 3 外联js:在script标签中用src属性来引入外部的js文件,但是在这堆script标签中不能写js代码,他的作用只是只是引入外联的js代码 C js初接触