CSS Position(定位):元素的定位与文档流无关

static定位:

HTML元素的默认值, 没有定位,元素出现在正常的流中

静态定位的元素不会受到top,bottom,left,right影响

Fixed定位:

元素的位置相对于浏览器窗口固定

即便串口滚动元素也不滚动

注:

  • Fixed 定位在 IE7 和 IE8 下需要描述 !DOCTYPE 才能支持
  • Fixed定位使元素的位置与文档流无关,因此不占据空间
  • Fixed定位的元素和其他元素重叠。
p.pos_fixed
{
position:fixed;
top:30px;
right:5px;
}

Relative定位:

相对定位元素的定位是相对其正常位置,常被用于绝对定位元素的容器块

Absolute定位:

绝对定位的元素相对于最近的已定位父元素,如果没有已定位的父元素,那么它的位置相对于<.html>

position:absolute;

注:

  • absolutely定位使元素的位置与文档流无关,因此不占空间
  • absolutely定位的元素和其他元素重叠

重叠的元素:

  • 元素的定位与文档流无关,所以它们可以覆盖页面上的其他元素
  • z-index属性指定了一个元素的堆叠顺序(哪个在前哪个在后)
  • 一个元素可以有整数或者负数的堆叠顺序

CSS  float:

  • css float属性定义元素在哪个方向浮动,浮动元素会生成一个块级框,直到该块级框的外边缘碰到包含框或者其他的浮动框为止
  • 如果一个元素水平浮动,则只能左右移动不能上下移动
  • 如果图像是右浮动,下面的文本流将环绕在它左边
  • 浮动之后的元素将围绕它,浮动之前的元素不受影响
  • 几个浮动的元素放在一起,如果空间足够会彼此相邻,空间受到窗口影响

清除浮动:

  • 在样式表中定义:clear:both。元素两侧不会出现浮动
  • 清除浮动之后,周围的元素会重新排列

CSS 水平对齐:

块元素占用了全宽,前后都是换行符

中心对齐,使用margin属性:

margin属性可任意拆分为左,右页边距设置自动指定,结果都是出现居中元素

.center
{
margin-left:auto;
margin-right:auto;
width:70%;
background-color:#b0e0e6;
}

使用position属性设置左,右对齐

.right 

position:absolute; 
right:0px; 
width:300px; 
 
}

使用float属性设置左,右对齐

  • 当使用浮动属性对齐,总是包括!DOCTYPE声明!如果丢失,它将会在IE浏览器产生奇怪的结果
.right
{
float:right;
width:300px;
background-color:#b0e0e6;
}

使用Padding设置垂直居中对齐

.center {
padding: 70px 0;
border: 3px solid green;
text-align: center;
}

在CSS3中包含了种组合方式:

  • 后代选择器(空格分隔)
  • 子元素选择器(大于号分割)
  • 相邻兄弟选择器(加号分割)
  • 普通兄弟选择器(波浪号分割)

后代选择器:

后代选取器匹配所有指定元素的后代元素

div p
{
background-color:yellow;
}

子元素选择器:

div>p
{
background-color:yellow;
}

相邻兄弟选择器:

  • 选择紧接在另一元素后的元素,且二者有相同父元素
div+p
{
background-color:yellow;
}

普通相邻兄弟选择器:

  • 选取所有指定元素的相邻兄弟元素

选取了所有 <div> 元素之后的所有相邻兄弟元素 <p> :

div~p
{
background-color:yellow;
}

CSS伪类:

  • CSS伪类用来添加一些选择器的特殊效果
  • 由于状态的变化是非静态的,所以元素达到一个特定状态时,它可能得到一个伪类的样式。当状态改变时,它又会失去这个样式(例如链接在被点击时和被点击之后)
  • 伪类是基于文档之外的抽象

伪类语法:

  • selector:pseudo-class {property:value;}
  • selector.class:pseudo-class {property:value;}
  • a:link {color:#FF0000;} /* 未访问的链接 */
  • a:visited {color:#00FF00;} /* 已访问的链接 */
  • a:hover {color:#FF00FF;} /* 鼠标划过链接 */
  • a:active {color:#0000FF;} /* 已选中的链接 */
  • 注意: 在CSS定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。
  • 注意: 在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。
  • 注意:伪类的名称不区分大小写。

伪类和CSS类配合使用:

a.red:visited {color:#FF0000;}
<a class="red" href="css-syntax.html">CSS Syntax</a>

CSS 伪元素:

  • 伪元素添加一些选择器的特殊效果
  • 伪元素和元素控制的内容没有差别,但因为是元素的抽象,所以不存在与文档中,所以被称为伪元素

语法:

  • selector:pseudo-element {property:value;}
  • selector.class:pseudo-element {property:value;}(用于CSS类)

:firs-line伪元素与:first-letter伪元素的异同:

  • 两者都作用于块级元素
  • first-line作用于首行
  • first-letter作用于首个字母

first-before伪元素与first-after伪元素:

  • ":before" 伪元素可以在元素的内容前面插入新内容
  • ":after" 伪元素可以在元素的内容之后插入新内容
h1:before
{
content:url(smiley.gif);
} h1:after
{
content:url(smiley.gif);
}

3 CSS 定位&浮动&水平对齐&组合选择符&伪类&伪元素的更多相关文章

  1. CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单

     水平&垂直对齐 元素居中对齐 .center { margin: auto; width: 50%; border: 3px solid green; padding: 10px; } 文本 ...

  2. java:CSS(定位,组合选择符,边距,Float,Table的样式,显示和隐藏,换行,盒子模型,iframe和frameset框架)

    1.绝对定位,相对定位,fixed定位(指浏览器窗口定位): <!DOCTYPE html> <html> <head> <meta charset=&quo ...

  3. CSS 组合选择符

    CSS 组合选择符 组合选择符说明了两个选择器直接的关系. CSS组合选择符包括各种简单选择符的组合方式. 在 CSS3 中包含了四种组合方式: 后代选取器(以空格分隔) 子元素选择器(以大于号分隔) ...

  4. CSS:CSS 组合选择符

    ylbtech-CSS:CSS 组合选择符 1.返回顶部 1. CSS 组合选择符 CSS 组合选择符 组合选择符说明了两个选择器直接的关系. CSS组合选择符包括各种简单选择符的组合方式. 在 CS ...

  5. CSS组合选择符

    组合选择符说明了两个选择器直接的关系. 目录: 后代选取器(以空格分隔) 子元素选择器(以大于号分隔) 相邻兄弟选择器(以加号分隔) 普通兄弟选择器(以破折号分隔) 后代选取器 后代选取器匹配所有值得 ...

  6. CSS和html如何结合起来——选择符及优先级

       1.选择符     兼容性 统配选择符 *         元素选择符 body   类选择符 .class   id选择符 #id         包含原则符 p strong     (所有 ...

  7. 【代码笔记】Web-CSS-CSS组合选择符

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  8. CSS第二天总结 更多的选择符

    CSS的选择符非常多,今天继续总结后面的选择符 1.id和class选择符某些情况下我们用关系选择符或者伪类选择符无法选中一些元素时,我们可以给这些元素起 个名字或者分类,这就是id和class属性. ...

  9. 说说ID选择符、类选择符和HTML标记选择符的优先级顺序

    ID选择符.类选择符和HTML标记选择符三者之间的优先级顺序是:ID选择符>类选择符>HTML标记选择符,但是可以用!important提升优先权. 如:       p{color:#f ...

随机推荐

  1. vue音乐播放器

    利用vue写一个简单的音乐播放器,包括功能有歌曲搜索.歌曲播放.歌曲封面.歌曲评论.播放动画.mv播放六个功能. <template> <div class="wrap&q ...

  2. 什么是this指针?this的几种指向

    在JavaScript中,this指针是在创建时,由系统默认生成的两个隐式参数之一(另一个是arguments). this指针指向与该函数调用进行隐式关联的一个对象,该对象被称为“函数上下文”. t ...

  3. 【PAT甲级】1111 Online Map (30分)(dijkstra+路径记录)

    题意: 输入两个正整数N和M(N<=500,M<=N^2),分别代表点数和边数.接着输入M行每行包括一条边的两个结点(0~N-1),这条路的长度和通过这条路所需要的时间.接着输入两个整数表 ...

  4. .Net Core 认证组件之Cookie认证组件解析源码

    接着上文.Net Core 认证系统源码解析,Cookie认证算是常用的认证模式,但是目前主流都是前后端分离,有点鸡肋但是,不考虑移动端的站点或者纯管理后台网站可以使用这种认证方式.注意:基于浏览器且 ...

  5. 【C语言】将输入的10个数排序

    代码: #include <stdio.h> int main() { ], t; int i, j, max; printf("请输入10个数:\n"); ; i & ...

  6. VS中消除ANSI API警告

    最近在VS上写网络程序遇到许多问题,因为VS中将许多ANSI中的API都重写了,那些API大多有漏洞或不能支持现在的一些编程需求了,所以在VS中使用会因为警告而不能用. 但一些老API用着比较方便,了 ...

  7. streamsets 安装

    这里有很多坑点 1. 我下载的是rpm 包,full 直接安装, 安装好后,路径在 /opt 目录 2. 启动    -注意报错 2.1  先给他创建 一个 日志目录, 安装好后是不存在这个目录 mk ...

  8. Django项目配置数据库时,已安装mysqlclient,却提示 Did you install mysqlclient错误,后右报错ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3

    错误信息如下: 解决方案是: 找到自己的项目文件夹下的__init__.py  添加如下代码 解决这个问题后,右报错django2.2/mysql ImproperlyConfigured: mysq ...

  9. C++标准库里面没有字符分割函数split,自己编写函数实现字符串分割功能

    #include <vector> #include <string> #include <iostream> using namespace std; vecto ...

  10. 「BJWC2010」模板严格次小生成树

    题目描述 小 \(C\) 最近学了很多最小生成树的算法,\(Prim\) 算法.\(Kruskal\) 算法.消圈算法等等.正当小\(C\)洋洋得意之时,小\(P\)又来泼小\(C\)冷水了.小\(P ...