复习

1.前端: 网页, html + css + js
2.html三个组成部分:标签,指令和转义字符
标签: <>包裹, 以字母开头, 可以结合-|数字, 能被浏览器解析的标记
3.常用的基本标签
div,a,link,img,p,i,span,b,ul>li,(br/hr),sup,sub.pre,table>thead>tbody>tfoot>tr>th|td
4.css引入
行间式:style属性中
内联式:head标签的style标签中
外联式:css文件中
选择器{
样式块
}

今日内容

css基础选择器
长度与颜色设置
display属性样式
字体|文本相关属性样式
背景属性样式
边界圆角属性样式
盒模型及盒模型布局

基础选择器

1.(*)通配选择器:html,body,body下的可用于显示的标签
2.div(标签选择器):该标签名对用的所有该标签
3. (.) (class选择器)(eg:.div = class='div'):类名为div的所有标签,可以重名
4.(id选择器)(eg:#div => id='div'):id名为div的唯一标签 <style>
div{
width: 100px;
height: 100px;
color: red;
background-color: green;
}
.div1{
width: 200px;
height: 200px;
color: white;
background-color: black ;
}
#div3{
width: 20px;
height: 20px;
color: white;
background-color: orange ;
}
</style>
<div>123</div>
<div class="div1">1</div>
<div class="div2">2</div>
<div id="div3">2</div> 总结:
1.在实际开发中,尽量少用或不用标签吗作为选择器,标签名作为选择器一般是该标签处在最内层的时候(使用它的语义或功能时)
2.内联和外联,相同属性采用处在下面的覆盖上面的,不同属性进行叠加
3.在css语法选择器中,用.class名来代表class,用#id名来标识id
4.行间式属于逻辑的最下方,相同的属性一定会覆盖内联和外联
5.一般不使用行间式单独操作(可读性差),所以用起别名的方式来单独改变其颜色
6.用class起名,分类别,可以重名,给标签设置唯一标识符是使用id

选择器的优先级

理解:控制范围越精确,优先级越高,所设置的样式会覆盖优先级低的相同属性样式
结论:优先级顺序 通配<标签 < class < id < 行间式 < |important
行间式优先级要高于内联和外联所有选择器,但是不能高于!important,属性值与分号之间加!important
注意: !important书写在属性值后;前 <style>
#div {
background-color: yellow;
} .div {
background-color: yellowgreen;
} div {
background-color: green!important;
} * {
width: 100px;
height: 100px;
background-color: darkgreen;
}
/*!important 优先级要强于行间式, 在属性值与;之间设定*/
</style>
<div class="div" id="div" style="</div>

长度与颜色

长度单位: px mm cm em rem vw vh in

颜色设置方式:
1.颜色单词
2.#000000 ~ #FFFFFF (#abc == #AABBCC)
3.rgb(0~255, 0~255, 0~255)|rgba(0~255, 0~255, 0~255, 0~1)
rgba代表颜色和透明度,0为完全透明,1为不透明 <style>
.div {
/*px mm cm em rem vw vh in*/
width: 10in;
height: 100px;
/*颜色:
1.颜色单词
2.#000000 ~ #FFFFFF (#abc == #AABBCC)
3.rgb(0~255, 0~255, 0~255)|rgba(0~255, 0~255, 0~255, 0~1)
*/
background-color: rgba(255, 0, 0, 0.5);
}
</style>
<div class="div"></div>

显示方式display

1.有些标签支持宽高,有些标签不支持宽高
2.有些标签同行显示,有些标签异行显示(独占一行)
3.有些标签由结束标识,有些标签没有结束标签(省略了) 不同的标签,在页面中书写的方式不一样,显示效果也不一样,支持的css样式程度也不一样
分类:
1.单双标签的分类
单标签:br,hr,img,meta,link,特性:功能具体,不需要内容,设置为单标签,单标签结束符在标签尾部,可以省略
eg:<img />,<br />
双标签:h1,p,span,div,具有子标签,包含内容,设置为双标签,双标签首尾分离
eg:<h1>内容</h1>
结论:主内容 <style>
span{
width: 200px;
height: 50px;
}
p{
width: 200px;
height: 50px;
background-color: red;
}
img{
width: 200px;
/*height: 50px;*/
}
</style>
<spam>123<i>456</i><b>789</b></spam>
<spam>123<i>456</i><b>789</b></spam> <p>123<i>456</i><b>789</b></p>
<p>123<i>456</i><b>789</b></p> <img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=538916491,4234853604&fm=200&gp=0.jpg" alt="">
<img src="https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=538916491,4234853604&fm=200&gp=0.jpg" alt=""> 2.通过display属性值进行划分
dispaly
what: 控制标签在页面中的显示方式的属性
why: 通过设置该属性的不同属性值,使其在页面中的显示方式达到设定的效果,且对于css的样式支持程度也不一样
1.同行显示inline:只支持部分css样式(不支持宽高),宽高由文本内容撑开
.o1 {
display: inline;
/*
1.同行显示
2.只支持部分css样式(不支持宽高)
3.宽高由文本内容撑开
*/} 2.block:异行显示,支持所有css样式,设置了宽高就采用设置的值,宽高也具有默认的特性(后面讲)
.o2 {
display: block;
/*
1.异行显示
2.支持所有css样式
3.设置了宽高就采用设置的值, 宽高也就有默认的特性(后面讲)
*/} 3.inline-block:同行显示,支持所有css样式,设置了宽高就采用设置的值,宽高也具有默认的特性(后面讲) .o3 {
display: inline-block;
/*
1.同行显示
2.支持所有css样式
3.设置了宽高就采用设置的值
*/}
<owen class="o1">123</owen>
<owen class="o1">123</owen>
<hr>
<owen class="o2">123</owen>
<owen class="o2">123</owen>
<hr>
<owen class="o3">123</owen>
<owen class="o3">123</owen> 结论:
1.带有inline的就会同行显示,带有block的就会支持所有css样式
2.带有inline的都是与内容相关的标签,带有block的主要用来搭建架构的

嵌套关系

<style>
.list {
display: inline-block;
vertical-align: middle;
}
/*总结: vertical-align
baseline: 文本底端对齐(默认值)
top: 标签顶端对齐
middle: 标签中线对齐
bottom: 标签底端对齐
*/
.box {
width: 80px;
height: 35px;
background-color: #333;
}
</style>
<div class="list">
<div class="box">呵呵呵呵呵呵呵呵呵呵呵呵</div>
</div>
<div class="list">
<div class="box" style="height: 60px">呵呵</div>
</div> why:页面架构就是由一层层嵌套关系形成的
嵌套关系有一定的规则:
1.inline-block类型不建议嵌套任意标签,所以系统的inline-block都设计成了单标签
2.inline类型只嵌套inline类型的便签
3.block类型可以嵌套任意类型标签(注:h1-h6和p,只建议嵌套inline类型)
标签的显示方式就是由display属性 结论:
1.inline嵌套block和inline-block,不起任何作用,所以只能嵌套inline
2.inline-block可以嵌套其他类型标签,但一定要结合vertical-asign属性操作,左右还有一空格间距
3.block嵌套该如何显示?

盒模型

margin,border,padding,content
.d${$}*7
总结:
盒模型由四部分组成: margin + border + padding + content
1.margin: 外边距, 控制盒子的位置(布局), 通过左和上控制自身位置, 通过右和下影响兄弟盒子位置(划区域)
/*margin: 100px 50px;*/
/*起始为上, 顺时针依次赋值, 不足边取对边*/ 2.border: 边框, 样式/宽度/颜色 (solid实线 dashed虚线 dotted点状线)
/*border-style: solid;*/
/*border-width: 10px;*/
/*border-color: red;*/
/*transparent透明色*/
border: blue dashed 20px; 3.padding: 内边距, 从显示角度控制文本的显示区域
/*padding: 10px 10px 10px 10px;*/
/*padding: 20px 30px;*/
/*起始为上边, 顺时针依次赋值, 不足边取对边*/ 4.content: 内容区域, 由宽 x 高组成
width: 190px;
height: 190px;
<div class="box">123</div>
<div>456</div>
注意:
1.margin,padding: 起始为上, 顺时针依次赋值, 不足边取对边
2.要做到文本内移,设置padding, 如果又想显示区域不变, 相应减少content

盒模型布局

1.上下两个盒子的margin-bottom和margin-top功能相同, 同时出现, 取大值.左右正常叠加

<style>
.b1 {
margin-bottom: 50px;
}
.b2 {
margin-top: 50px;
}
</style>
<div class="b1"></div>
<div class="b2"></div> 2.第一个有显示区域的子级会和父级联动(margin-top重叠), 取大值 解决2:
1.父级设置border-top
2.父级设置padding-top
<style>
.sup {
width: 200px;
height: 200px;
background-color: orange;
/*margin-top: 40px;*/
/*border-top: 1px solid black;*/
padding-top: 10px;
}
.sub1 {
/*border: 1px solid red;*/
width: 50px;
height: 50px;
background-color: red;
margin-top: 50px;
}
.sub2 {
width: 50px;
height: 50px;
background-color: pink;
margin-top: 50px;
}
</style>
<section class="sup">
<section class="sub1"></section>
<section class="sub2"></section>
</section>

day47 选择器优先级及嵌套关系的更多相关文章

  1. 基础选择器,长度与颜色,标签display,嵌套关系,盒模型,盒模型布局

    css基础选择器 # *(统配选择器): 控制html, body,以及body下所有用于显示的标签 # div(标签选择器): 该标签名对应的所有该标签 # .(class选择器)(eg: .div ...

  2. 前端,基础选择器,嵌套关系.display属性,盒模型

    基础选择器 1.统配选择器 控制html,body及body内跟显示相关的标签 *{ width:80px; height:80px; background-color:red; } 2.类选择器 以 ...

  3. day48 前端高级选择器优先级

    复习 1. 基础选择器 标签选择器(div) | 类选择器(.div1) | id选择器(#div2) <div class="div1" id="div2&quo ...

  4. 【CSS系列-选择器优先级总结】

    转:http://www.cnblogs.com/dolphinX/p/3511300.html 容易被忽略CSS特性   CSS初学感觉很简单,但随着学习的深入才感觉CSS的水由多深,平常总会遇到各 ...

  5. 一天搞定CSS: CSS选择器优先级--08

    选择器优先级:是指代码的执行顺序 通俗的说,就是多个选择器同时对一个标签分别添加样式,那么这个标签显示那个选择器设置的样式 1.优先级规则 2.规则1和2说明 优先级相同,谁后谁优先 优先级不同,优先 ...

  6. 深入理解CSS选择器优先级

    题外话 今天把 <CSS REFACTORING>(中文名叫<CSS重构:样式表性能调优>)电子书粗略的浏览了一遍,这本书很薄,150页左右,首先是介绍了什么是重构并举了两个简 ...

  7. 盒子总结,文本属性操作,reset操作,高级选择器,高级选择器优先级,边界圆角(了解),a标签的四大伪类,背景图片操作,背景图片之精灵图

    盒子总结 ''' block: 设置宽高 1.没有设置宽,宽自适应父级的宽(子级的border+padding+width=父级的width) 2.没有设置高,高由内容撑开 设置了宽高 一定采用设置的 ...

  8. 导航栏布局时遇到的问题以及解决办法 css选择器优先级

    得到的导航栏效果 添加#menu ul li{width:30px;} 效果如图 将会使列表项和分隔区域的宽度同时改变因为id选择器的优先级高于类选择器,此时应该为列表项添加内联样式如图 才能得到如下 ...

  9. 前端CSS css引入方式 css选择器 css选择器优先级

    一.       CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表 ...

随机推荐

  1. M25P16中文版

    转载:https://blog.csdn.net/weiweiliulu/article/details/23666717 1.M25P16概述     M25P16是一款带有先进写保护机制和高速SP ...

  2. SpringBoot启动源码探究---getRunListener()

    该方法目的是获取SpringApplicationRunListener getRunListener()-----调用----> getSpringFactoriesInstances()-- ...

  3. global的使用

    对于一个全局变量,你的函数里如果只使用到了它的值,而没有对其赋值(指a = XXX这种写法)的话,就不需要声明global. 相反,如果你对其赋了值的话,那么你就需要声明global.声明global ...

  4. Python量化分析,计算KDJ

    Python: v3.6 Pandas: v0.23.4 使用以下方法计算与国内财经软件显示一致 low_list = df['最低价'].rolling(9, min_periods=9).min( ...

  5. 2016-08-15T16:00:00.000Z 格式转换成yyyy-MM-dd HH:mm:ss格式

    public static String UTCStringtODefaultString(String UTCString) { try { if (CommonUtils.notNullAndEm ...

  6. 关于破解visualsvn 我这里是版本是5.2.1

    1.首先备份当前安装visualSVN文件的bin目录,万一出错还能反个水.一般默认安装路径是C:\Program Files (x86)\VisualSVN\bin 2.然后运行ildasm,Win ...

  7. Python学习【01】编程语言简介,Python安装及环境变量配置

    编程语言介绍 开发 系统软件开发:Windows,iOS 应用软件开发:淘宝.网易云音乐.QQ 开发语言 高级语言:Python,Java,PHP, c#,GO,ruby,c++      ---&g ...

  8. spring入门 依赖入注的三种方式(1)

    第一种:构造器参数注入 第二种:setter方法属性注入(setter方法的规范-JavaBean规范) 第三种:接口注入 Bean 属性的注入:对一个对象的属性的赋值 1.构造器参数注入: publ ...

  9. (Python基础)文件操作

    对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 命名为7 years Once I was seven years old my momma t ...

  10. 使用Autoencoder进行降维

    #coding=utf-8import tensorflow as tf import matplotlib.pyplot as plt from tensorflow.examples.tutori ...