记录CSS

ID选择器:#id { }      ID是独一无二的,不可重复
类选择器: .class { }
标签选择器  h   p   input...
子选择器:.food>li 大于符号(>),仅用于选择指定标签元素的第一代子元素
后代选择器:.food li
通用选择器:*{ }  匹配html中所有标签元素
分组选择符:h1,span,li { }
伪类选择符:例:
a:hover{color:red;}->鼠标滑过状态设置字体颜色变红;
  :link    /*没有访问过的链接*/
  :visited  /*已经访问过的链接*/
input:focus{ }   选取获得焦点(光标)的表单
  

标签的权值为1,类选择符的权值为10,ID选择符的权值为100;行内样式style权值1000;
继承或者  *  权值0
改变样式权重:!important   >>  p{   color:red!important;   }

权重叠加:
复合选择器会权重叠加;权重会叠加,不会有进位

(相同权重值时):
层叠就是在html文件中对于同一个元素可以有多个css样式存在,
当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,
处于最后面的css样式会被应用。

继承性:子标签会继承父标签的某些样式,text-   font-   line-   color
              标题标签不会继承父元素文字大小;
              a标签不会继承父元素的文字颜色;

优先级:内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)



文字:
font-family:" "; /*设置字体*/
font-size:6px;/*设置文字字号*/
color:red;/*设置文字颜色*/
font-weight:bold;/*设置字体加粗*/400  700
font-style:italic/*斜体*/
文字属性连写,文字大小字体必写;其余不写取默认
复合写法:font: style   weight    size/height   family

文本:
text-decoration:underline;/*设置文字下划线*/   ;none/*没有装饰线*/
text-indent:2em;/*缩进*/
line-height:2em;20px/*行间距(行高)*/
letter-spacing:10px;/*文字间隔*/
word-spacing:10px;/*字母间隔*/
text-align:centen;/*块状元素中文本,图片居中*/
 .oldPrice{text-decoration:line-through;}删除线
例:<p>原价:<span class="oldPrice">300</span>元 现价:230 元</p>
        原价:300元 现价:230 元

背景:
background-color   (transparent透明)元素设置背景色         |
background-image   图像放入背景   背景图片撑不开盒子的宽高  |
background-repeat    no-repeat 不平铺;repeat 平铺; 背景图像平铺
repeat-x 和 repeat-y 分别导致图像只在水平或垂直方向上重复,no-repeat 则不允许图像在任何方向上平铺          |
 background-position: 方位名词(left;right;center;top)  x   y   只写一个参数,第二参数默认垂直
 改变图像在背景中的位置;
精确坐标  x  y  只写一个参数,参数为x坐标,第二参数默认垂直;可混合使用       |
background-attachment:  scroll(滚动) ;fixed(固定,背景定位背景图片偏移位置参考非盒子大小,以浏览器大小为基准)   背景图像是否固定或者随着页面的其余部分滚动。
复合写法:background:背景颜色  背景图片地址  背景平铺  背景图像滚动  背景图片位置
半透明背景  background: rgba(0,0,0, .3);最后参数是alpha(透明度),取值0~1之间,可以 .3代替0.3
                                     

轮廓:
绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用
outline 在一个声明中设置所有的轮廓属性。
outline-color 设置轮廓的颜色。
outline-style 设置轮廓的样式。
outline-width 设置轮廓的宽度。


元素分类:
在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。
常用的块状元素有:         display:inline;块转内联
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
常用的内联元素有:         display:block内联转块状
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
常用的内联块状元素有:     display:inline-block设置为内联块状
<img>、<input>           
块级元素:   display:block内联转块状
1、从新的一行开始,并且其后的元素也另起一行
2、元素的高度、宽度、行高以及顶和底边距都可设置。
3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度
4.是一个容器及盒子,里面可以放行内或者块级元素
内联元素:display:inline 块转内联
1、和其他元素都在一行上;
2、元素的高度、宽度及顶部和底部边距不可设置;
3、元素的宽度就是它包含的文字或图片的宽度,不可改变
4.只能容纳文本或其他行内元素
内联块状元素:  display:inline-block设置为内联块状
1、和其他元素都在一行上;
2、元素的高度、宽度、行高以及顶和底边距都可设置。


盒模型:
Margin(外边距) - 清除边框外的区域,外边距是透明的(可让块级盒子水平居中)。
Border(边框) - 围绕在内边距和内容外的边框。
Padding(内边距) - 清除内容周围的区域,内边距是透明的。
Content(内容) - 盒子的内容,显示文本和图像

border:   边框
每个边框有 3 个方面:宽度、样式,以及颜色
 例:p{ border:2px  dotted  #ccc;}
    border-width:2px;   边框宽度
    border-style:solid;  dashed(虚线)| dotted(点线)| solid(实线)
    border-color:red;    颜色--边框颜色值 transparent。这个值用于创建有宽度的不可见边框
   复合写法:border: width  style   color   
   border-collapse:collapse 合并相邻边框(仅用在表格上)
一个块元素,不设置宽度,这个块元素设置左右padding值,不会撑开盒子。
padding:  填充
例:div{ padding:20px 10px 15px 30px;  } 上top-右right-下botton-左left;
                              5px   10px    上下5,左右10; 
                              5px   10px   20px    上5  左右10  下20
margin:  边界
padding在边框里,margin在边框外。
设置外边距的最简单的方法就是使用 margin 属性。
相邻块元素垂直外边距的合并:
尽量只给一个盒子添加margin值

嵌套块级元素垂直外边距塌陷:
1.给父元素设置边框。
2.给父元素设置内边距。
3.  overflow:hidden;

圆角边框:
border-radius:length(数值或百分比);
border-top-left-radius、border-top-right-radius、
border-bottom-right-radius 和 border-bottom-left-radius 

盒子阴影:
box-shadow: h-shadow  v-shadow   blur  spread  color   inset; 
box-shadow: 0 2px 3px 3px rgba(0,0,0, 0.1);

color   rgbs(半透明)
文字阴影:
text-shadow: h-shadow   v-shadow    blur    color

布局模型:
1、流动模型(Flow)
2、浮动模型 (Float)
3、层模型(Layer)
       a.流动(Flow)是默认的网页布局模式。也就是说网页在默认状态下的 HTML 网页元素都是根据流动模型来分布网页内容的。
1.块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。
2.内联元素都会在所处的包含元素内从左到右水平分布显示。
      
      b.浮动(float)  可以让块状元素并排显示
           任何元素都可以浮动,浮动后具有行内块元素相似的特性
           块级元素没有设置宽度,默认父级,添加浮动后,大小根据内容
          设置浮动,漂浮在普通块元素上面(脱标),浮动盒子不在保留原先位置
                         只影响浮动盒子后面的标准流,不影响前面的
     标准流父元素排列上下位置,内部子元素采取浮动排列左右位置

   清除浮动:(父级盒子没高度;子盒子浮动了;影响下面布局)
   选择器{clear:属性值;}   left ; right ; both(同时左右两侧)
   额外标签法:浮动元素末尾添加一个空标签(要求为块级元素)
                     例如添加<div style="clear:both"></div>,或者其他标签(如<br />等)

  父级添加  overflow属性,hidden(隐藏溢出) ; auto ; scroll

.clearfix:after 伪元素清除(父级类名添加clearfix)
.clearfix:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix { /* IE6、 7 专有 */
*zoom: 1;
}                      

  双伪元素清除浮动(父级类名添加clearfix)
.clearfix:before,.clearfix:after {
content:"";
display:table;
}
.clearfix:after {
clear:both;
} 
.clearfix {
*zoom:1;
}

                  
                  父盒子有高度,不需要清除;清除浮动,父级根据子盒子自动检测高度;
                  父级有高度,不会影响下面的标准流
                          

      c.层布局模型就像是图像软件PhotoShop中非常流行的图层编辑功能一样,每个图层能够精确定位操作,
         但在网页设计领域,由于网页大小的活动性,层布局没能受到热捧。但是在网页上局部使用层布局还是有其方便之处的。

定位 = 定位模式 + 边偏移
定位模式:

浮动脱标 :绝对定位,固定定位
脱标元素特点:行内元素可直接设置宽高;块级不会默认父元素宽,默认宽高0,内容会撑开宽高
     1、绝对定位(position: absolute)
           没有父元素或者父元素无定位,以浏览器为基准。
           父元素有定位,以最近一级有定位父(祖级)元素为基准
           绝对定位,脱标,不占有原来的位置
子绝父相
     2、相对定位(position: relative)
          参照于自己原来的位置来移动;继续保留原来的位置(不脱标)
                 例:position: relative;    
                        top: 100px;.......
     3、固定定位(position: fixed)
          以浏览器的可视窗口()为基准
          脱标,不占位置
          固定在版心右侧位置:
          浏览器宽度一半--left50%,margin-left:(版心盒子宽度一半)

     4、静态定位              : static;  默认定位方式
 偏移:
      上 下 左 右


居中:
行内元素(文本,图片等),行内块元素水平居中给其父元素添加 -> 居中   text-align:center
块状元素
 -> 定宽(设置固定宽度)块状居中   左右margin”值为“auto”
 ->不定宽块状居中
1.加入 table 标签:
利用table标签的长度自适应性---即不定义其长度也不默认父元素body的长度(table其长度根据其内文本长度决定),因此可以看做一个定宽度块元素,然后再利用定宽度块状居中的margin的方法
加入table标签,设置左右margin值为auto
2.设置 display: inline 方法:与第一种类似,显示类型设为 行内元素,进行不定宽元素的属性设置
3.设置 position:relative 和 left:50%:利用 相对定位 的方式,将元素向左偏移 50% ,即达到居中的目的

父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height 高度一致来实现的。(height: 该元素的高度,line-height: 顾名思义,行高(行间距),指在文本中,行与行之间的 基线间的距离 )
当文字内容的长度大于块的宽时,会有内容脱离块

日常记录,勤加练习。

猜你喜欢

转载自www.cnblogs.com/yangisme/p/11914680.html