定位元素
要掌握css技术,核心就是要掌握元素定位。

一般把下面这条规则作为所有css样式表的第一条,初始化所有元素的内边距和外边距都为0:

* {padding:0;margin:0;}

盒模型
浏览器为页面中的每个元素生成一个矩形盒子。作为该元素的容器。默认情况下,每个盒子的边框不可见,背景也是透明的,所以我们不能直接看到这些盒子。

元素盒子的3个属性:
边框(border),可以设置边框的宽窄、样式和颜色;
内边距(padding),盒子内容区与边框的间距;
外边距(margin),盒子与相邻元素的间距。
一个盒子有4条边,因此与边框、内边距、外边距相关的属性也各有4个:上(top)、右(right)、下(bottom)、左(left)。

盒子边框有3个相关属性:
宽度;
样式;
颜色。
在声明时,先后顺序没有关系,用空格分隔就可以:
p{border:1px solid #ccc;}

盒子内边距:
盒子内容区与盒子边框之间的距离。

盒子外边距:
垂直外边距——
2个垂直方向的外边距会重叠,也就是说,只有较宽的外边距决定2个元素的距离,较窄的那个不起作用。
水平外边距——
水平相邻的元素,它们的外边距是各自的外边距之和,也就是直接相加。

盒子有多大?
没有设置宽度的盒子——
没有设置宽度的元素,会扩展到填满其父元素的宽度。添加边框、内边距和外边距,会导致内容宽度减少,减少量等于边框、内边距和外边距之和。
设置了宽度的盒子——
为设定了宽度的盒子添加边框、内边距和外边距,会导致盒子扩展得更宽。实际上,盒子的width属性设定的只是盒子内容区的宽度,而非盒子要占据的水平宽度。

浮动与清除
使用float进行浮动的元素,会脱离文档流,也已经不被包含在父元素之内了。可以看成,在一张白纸上用剪子剪去了一块。
强迫父元素包围其浮动的子元素的3种方法:
1.为父元素应用overflow:hidden
2.浮动父元素
3.在父元素内容的末尾添加非浮动元素(清除元素)

定位
对元素盒子使用position属性,可以相对于它在常规文档流中的位置重新定位。
position属性有4个值:
static——
静态定位。默认值;
relative——
相对定位。相对它原来在文档流中的位置重新定位。除了这个元素自己挪动了一下外,这个元素原来占据的空间没有动,其他元素也没动。
p{position:relative;top:25px;left:30px;}
absolute——
绝对定位。绝对定位会把元素彻底从文档流中拿出来,再相对于body进行定位。元素之前占据的空间自然也被回收了。
同时,也可以自己选择相对于的定位上下文。任何想使用绝对定位元素的祖先元素都可以成为它的定位上下文,前提是给该元素设置为相对定位。
p{position:absolute;top:25px;left:30px;}
fixed——
固定定位。固定定位也完全移出了文档流。但固定定位元素是相对于视口的,它不随页面滚动而移动。通常用它来创建不随页面滚动的导航元素。

显示属性
display属性有3个值——
block;
inline;
none

背景
css背景相关属性:
background-color(设置背景颜色)
background-image(设置背景图片)
background-repeat(设置背景重复)
background-position(设置背景位置)
background-size(设置背景尺寸)
background-attachment(设置背景粘附)

css读书笔记3:定位元素的更多相关文章

  1. css读书笔记2:css工作原理

    css就是一种先选择html元素,然后设定选中元素css属性的机制.css选择符合要应用的样式构成一条css规则. 为文档添加样式的3种方法: 1.行内样式,直接写在特定标签的style属性中:2.嵌 ...

  2. CSS学习笔记之定位

    position 有4中不同类型的定位,分别为static.relative.absolute.fixed 1.static 元素框正常生成.块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创 ...

  3. html+css学习笔记 4[定位]

    如何让图1中的div2移动到如图2上的位置: 思路:哪些css命令能够影响盒子显示的位置呢? relative相对定位/定位偏移量 position:relative;  相对定位         a ...

  4. CSS 小结笔记之定位

    定位也是Css中一个非常强大的属性.定位主要是用来移动盒子,将其移动到我们想要的位置. 定位分为两部分 1.边偏移 left | right |top |bottom:偏移大小:(边偏移一般制定上就不 ...

  5. css读书笔记1:HTML标记和文档结构

    块级元素和行内元素:块级元素:上下堆叠,每个块级元素都独立占一行.块级元素的盒子宽度与父元素同宽.行内元素:左右堆叠,只有在空间不足的情况下才会折到下一行显示.行内元素的盒子会收缩包裹其内容,并尽可能 ...

  6. CSS学习笔记:定位属性position

    目录 一.定位属性简介 二.各属性值的具体功能 1. relative 2. absolute 3. fixed 三.三种定位属性的效果总结 参考资料:https://www.bilibili.com ...

  7. css读书笔记4:字体和文本

    字体属性网页中的字体有3个来源:1.用户机器中安装的字体:2.保存在第三方网站上的字体.可以使用link标签把它们链接到页面中:3.保存在子集的web服务器上的字体.可以使用@font-face规则随 ...

  8. 超越css读书笔记

    一.运用所有有效的css选择符 1.属性选择符(基于一个元素是否有属性名称,例如href,或者属性值) 例如:img[alt]{border:1px;} 所有包含alt属性的图像都将会有一个灰色的边框 ...

  9. CSS读书笔记(3)---清除浮动的几种方法

    浮动元素容易造成页面错位现象.下面说说关于清除浮动的几种方法. 首先.先创建一个浮动导致错位的页面. <!DOCTYPE html> <html lang="en" ...

随机推荐

  1. bootstrap ace MVC

    <<html lang="en"><head> <meta charset="utf-8" /> <title& ...

  2. centos6.6 设置静态网络

    [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0HWADDR=08:00:27:3D:5F:38 ...

  3. Ubuntu 14.04 中安装 VMware10 Tools工具

    Run: apt-get install dkms linux-headers-$(uname -r) build-essential psmisc2 - Run: git clone https:/ ...

  4. 【leetcode❤python】 111. Minimum Depth of Binary Tree

    #-*- coding: UTF-8 -*- # Definition for a binary tree node.# class TreeNode(object):#     def __init ...

  5. CodeForces 483C Diverse Permutation

    Diverse Permutation Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64 ...

  6. Lucky String

    Lucky String -- 微软笔试 标签(空格分隔): 算法 A string s is LUCKY if and only if the number of different charact ...

  7. JavaWeb(一)

    Web应用程序开发是目前软件开发领域的三大方向之一. 静态网页与动态网页 静态网页 表现形式:网页的内容是固定的,不会更新: 使用的技术:HTML,CSS 动态网页 表现形式:网页中的内容通过程序动态 ...

  8. Create Hierarchical Tree To Control Records In Oracle Forms

    Download Source Code Providing an example form for creating hierarchical trees in Oracle Forms to co ...

  9. CUBRID学习笔记 36 在net中添加多行记录

    using System.Data.Common; using CUBRID.Data.CUBRIDClient; namespace Sample { class Add_MultipleRows ...

  10. python_way day10 python和其他语言的作用域 、 python2.7多继承和3.5多继承的区别 、 socket 和 socketserver源码(支持并发处理socket,多进程,多线程)

    python_way day10 1.python的作用域和其他语言的作用域 2.python2.7多继承和3.5多继承的区别 3.socket和socketserver源码(并发处理socket) ...