前端学习 第五弹: CSS (一)
前端学习 第五弹: CSS (一)
创建css: <link
rel="stylesheet" type="text/css" href="mystyle.css
" /> 外联
<style type="text/css">
hr {color: sienna;} p {margin-left: 20px;} body {background-image: url("images/back40.gif");} </style> 内联
1.选择器:
派生选择器: li strong
{ font-style: italic; font-weight: normal; }
id选择器: #song {font-style:italic;}
id选择器在只能出现一次 但是id选择器的派生选择器却可以出现多次 #song p {}
类选择器: .center
{text-align: center}
元素选择器: p {}
选择器分组用,隔开 p,li {} (对p和li同时适用)后代选择器: div.sidebar {background:blue;} div.maincontent {background:white;} div.sidebar a:link {color:white;} div.maincontent a:link {color:blue;}
属性选择器: [title]
{ color:red; } (这里指带有title属性的所有元素)
[title=Songhaolun]
{ border:5px solid blue; }
相邻兄弟选择器: li + li {font-weight:bold;} 上面这个选择器只会把列表中的第二个和第三个列表项变为粗体。第一个列表项不受影响。
子元素选择器: h1 > strong {color:red;} 顾名思义
伪类:CSS 伪类用于向某些选择器添加特殊的效果:
a:link
{color: #FF0000} /* 未访问的链接 */ a:visited
{color: #00FF00} /* 已访问的链接 */ a:hover
{color: #FF00FF} /* 鼠标移动到链接上 */ a:active
{color: #0000FF} /* 选定的链接 */
伪元素:
before after first-line
其中伪类用:表示 伪元素用::表示
2.定位 对齐 浮动
CSS 定位 (Positioning) 属性允许你对元素进行定位
CSS 有三种基本的定位机制:普通流、浮动和绝对定位。
通过使用 position,我们可以选择 4 种不同类型的定位,这会影响元素框生成的方式
- static
- 元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。
- relative
- 元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。
- absolute
- 元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
- fixed
- 元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。
相对定位
如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。
#box_relative {
position: relative;
left: 30px;
top: 20px;
}
绝对定位
绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
#box_relative {
position: absolute;
left: 30px;
top: 20px;
}
浮动
浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
img
{
float:right;
}
left | 元素向左浮动。 |
right | 元素向右浮动。 |
none | 默认值。元素不浮动,并会显示在其在文本中出现的位置。 |
inherit | 规定应该从父元素继承 float 属性的值。 |
对齐
使用 margin 属性来水平对齐
可通过将左和右外边距设置为 "auto",来对齐块元素。
注释:除非已经声明了 !DOCTYPE,否则使用 margin:auto 在 IE8 以及更早的版本中是无效的。
把左和右外边距设置为 auto,规定的是均等地分配可用的外边距。结果就是居中的元素:
.center
{
margin-left:auto;
margin-right:auto;
width:70%;
background-color:#b0e0e6;
}
对齐元素的方法之一是使用绝对定位:
.right
{
position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
对齐元素的另一种方法是使用 float 属性:
.right
{
float:right;
width:300px;
background-color:#b0e0e6;
}
前端学习 第五弹: CSS (一)的更多相关文章
- 前端学习 第七弹: Javascript实现图片的延迟加载
前端学习 第七弹: Javascript实现图片的延迟加载 为了实现图片进入视野范围才开始加载首先: <img src="" x-src="/acsascas ...
- 前端学习 第六弹: javascript中的函数与闭包
前端学习 第六弹: javascript中的函数与闭包 当function里嵌套function时,内部的function可以访问外部function里的变量 function foo(x) { ...
- 前端学习 第四弹: HTML(一)
前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...
- 前端学习 第三弹: JavaScript语言的特性与发展
前端学习 第三弹: JavaScript语言的特性与发展 javascript的缺点 1.没有命名空间,没有多文件的规范,同名函数相互覆盖 导致js的模块化很差 2.标准库很小 3.null和unde ...
- 前端学习(五):body标签(三)
进击のpython ***** 前端学习--body标签 接下来的内容就比较多了,各位看官且听我慢慢道来... ... 使用a标签,链接到另一个页面 网页中<a>标签,全称:anchor. ...
- css学习の第五弹—单位和值
一. >>1.颜色表示方法总结: 1.英文命令颜色 前面几个小节中经常用到的就是这种设置方法: p{color:red;} 2.RGB颜色 这个与 photoshop 中的 RGB 颜色是 ...
- 前端学习笔记之HTML/CSS 速写神器 Emmet
HTML/CSS 速写神器:Emmet 在前端开发的过程中,一个最繁琐的工作就是写 HTML.CSS 代码.数量繁多的标签.属性.尖括号.标签闭合等,让前端们甚是苦恼.于是,我向大家推荐 Emmet, ...
- web前端学习(三)css学习笔记部分(8)-- SVN的介绍和应用、CSS动画效果、CSS3布局属性全接触
15.SVN的介绍和应用 15.1.SVN的介绍和应用课程概要 将代码进行集中管理,有版本号的进行迭代,方便集体工作的build流程 15.2.SVN的介绍 SVN是Subversion的简称,是一个 ...
- web前端学习(三)css学习笔记部分(5)-- CSS动画--页面特效、HTML与CSS3简单页面效果实例
CSS动画--页面特效部分内容目前仅仅观看了解内容,记录简单笔记,之后工作了进行内容的补充 7. CSS动画--页面特效 7.1 2D.3D转换 7.1.1 通过CSS3转换,我们能够对元素进行 ...
随机推荐
- SET-UID程序漏洞实验
一.实验描述 Set-UID 是Unix系统中的一个重要的安全机制.当一个Set-UID程序运行的时候,它被假设为具有拥有者的权限.例如,如果程序的拥有者是root,那么任何人运行这个程序时都会获得程 ...
- HTML5和CSS3的一些新特性
html5有哪些新特性.移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5? 新特性: 1. 拖拽释放(Drag and drop) 2. 语义化更好的内容标 ...
- .Net中使用com组件后发生System.ArithmeticException异常的解决办法(Message=算术运算中发生溢出或下溢。)
最近在开发一个.Net程序,其中涉及到对com组件的调用,或者第三方DLL调用, 在调用完以后如果使用一些小的测试程序继续运行,一切正常,但是在使用带有GUI的form程序,或者WPF程序中,继续执行 ...
- 常用js字符串方法学习总结
2016-06-15 js数组和字符串方法有很多,并且有一部分在使用的过程中有很多方法是很容易被混淆的,今天来总结一下js中数组和字符串的方法. ♦数组(Array)的方法 1.push() 和 po ...
- iOS-打电话、发短信、发邮件、打开浏览器
- (IBAction)showAlert:(UIButton *)sender { NSString *phoneNumber=@"18500138888"; NSString ...
- android SDK 更新问题解决
Android在win7更新SDK时出现问题: Download interrupted: hostname in certificate didn't match: <dl-ssl.goog ...
- cocoapod安装过程中的幺蛾子
cocoapod是GoogleMobileAd framework推荐的一个自动解决依赖关系的工具. 安装cocoapod时遇到问题: EthandeMacBook-Air:Xcode ethan ...
- Unity3D中可中途释放的单例
Unity3D中可中途释放的单例 使用静态类,静态变量的坏处是从程序加载后就一直占用内存,想要释放比较麻烦,可是之前使用的单例,没有提供释放的方法,那是不是也同静态的一样直到程序结束菜释放?那单例的好 ...
- spring mvc 获取页面日期格式数据
1.传递日期参数: 解决办法: 实体类日期属性加 @DateTimeFormat(pattern="yyyy-MM-dd") 注解 beans中加 <mvc:annotati ...
- BZOJ 2743 树状数组
不能用分块. #include <bits/stdc++.h> using namespace std; ; struct Info{int l,r,Id;}Q[Maxn]; int a[ ...