CSS学习 常用样式

1 样式

(1) 行内式
  <标签名 style="属性1:属性值1; 属性2:属性值2; 属性3:属性值3;"> 内容 </标签名>
(2) 内嵌式
  <head>
    <style type="text/CSS">
        选择器(选择的标签) { 
          属性1: 属性值1;
          属性2: 属性值2; 
          属性3: 属性值3;
        }
    </style>
  </head>
(3) 外链式
  <head>
    <link rel="stylesheet" type="text/css" href="css文件路径">
  </head>

 

2 基础选择器

(1) 标签选择器
  <1> ***可以选出所有相同的标签
  <2> 以标签为单位单独设置属性。
  <3> 定义:
    标签名{
      属性1:属性值1; 
      属性2:属性值2; 
      属性3:属性值3; 
    } 
(2) 类选择器
  <1> ***可以选出1个或者多个标签
  <2> 以类为单位单独设置属性。
  <3> 定义(head中的style标签内):
    <style>
    	 .类名  {   
    	      属性1:属性值1; 
    	      属性2:属性值2; 
    	      属性3:属性值3;     
    	  }
     </style>
  <4> 使用(body内):
   <标签 class='类名'></标签>
  <5> 多个类选择器:<标签 class='类名1 类名2'></标签>
(3) id选择器
  <1> ***一次只能选择器1个标签
  <2> 以id为单位设置属性。
  <3> 定义(head中的style标签内):
    <style>
      #id名{
      属性1:属性值1; 
      属性2:属性值2; 
      属性3:属性值3; 
    }
    </style>
  <4> 使用(body内):
    <标签 id="id名"></标签>
  <5> id选择器和类选择器区别:不允许有相同名字的id对象出现,但是允许相同名字的class。
(4) 通配符选择器
  <1> ***选择所有的标签
  <2> 直接对所有标签设置属性。
  <3> 定义(head中的style标签内):
   <style>
      *{ 
      属性1:属性值1; 
      属性2:属性值2; 
      属性3:属性值3; 
    }
   </style>
  例如:
    * {
      margin: 0;<!--元素与元素的间距-->
      <!--已为盒子设置高宽时,则盒子为设置高宽。若不设margin,margin默认为0px,内容左对齐;若margin为auto,内容会自动在设置的
高宽范围内水平居中对齐。-->
      <!--未为盒子设置高宽时,则盒子默认为内容高宽,随内容高宽变化而变化。若不设margin,margin默认为0px,内容左对齐;若margin为
auto,实际上,内容仍会自动水平居中对齐,但是不会有变化。-->
      padding: 0;<!--盒子边框与盒子内部元素的距离-->
    }
(5) 团队约定
  <1> 尽量少用通用选择器
  <2> 尽量少用 ID 选择器
  <3> 不使用无具体语义定义的标签选择器 div span
(6) 优先级
  优先级:内联样式 > id选择器 > 类选择器 > 标签选择器 > 通配符选择器

 

3 复合选择器

(1) 后代选择器
  .类名 标签名{}
(2) 子元素选择器
  .类名>标签名{}
(3) 交集选择器
  标签名.类名{}
(4) 并集选择器
  .类名,标签名{}  
(5) 链接伪类选择器
  a:link{}      /* 未访问的链接 */
  a:visited{}   /* 已访问的链接 */
  a:hover{}     /* 鼠标移动到链接上 */
  a:active{}    /* 选定的链接 */  
  写的时候,他们的顺序尽量不要颠倒,按照lvha的顺序。否则可能引起错误。  

 

4 标签显示模式(display)

(1) 块级元素(block-level)
  <1> 元素排列:一行只能放一个块级元素
  <2> 设置样式:可以设置宽度高度
  <3> 默认宽度:容器的100%
  <4> 包含:容器级可以包含任何标签
  <5> 常见元素:<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>
(2) 行内元素(inline-level)
  <1> 元素排列:一行可以放多个行内元素
  <2> 设置样式:不可以直接设置宽度高度
  <3> 默认宽度:它本身内容的宽度
  <4> 包含:容纳文本或则其他行内元素
  <5> 常见元素:<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>
(3) 行内块元素(inline-block)
  <1> 元素排列:一行放多个行内块元素
  <2> 设置样式:可以设置宽度和高度
  <3> 默认宽度:它本身内容的宽度
  <4> 常见元素:<img />、<input />、<td>
(4) 标签显示模式转换 display
  <1> 写在选择器内
  <2> 块转行内:display:inline;
  <3> 行内转块:display:block;
  <4> 块、行内元素转换为行内块: display:inline-block;

 

5 文本外观属性

(1) color:文本颜色
  预定义的颜色值:red,green,blue,pink
  十六进制:#FF0000,#FF6600,#29D794
  RGB代码:rgb(255,0,0)或rgb(100%,0%,0%)
(2) text-align文本水平对齐方式
  <1> left:左对齐(默认值)
  <2> right:右对齐
  <3> center:居中对齐
(3) line-height:行间距
  line-height常用的属性值单位有三种,分别为像素px,相对值em和百分比%。
  可以让单行文本在盒子中垂直居中对齐。即令文字的行高等于盒子的高度。
    行高=上距离+内容高度+下距离,上距离=下距离。
    行高=高度,文字会垂直居中。
    行高大于高度,文字会偏下。
    行高小于高度,文字会偏上。
(4) text-indent:首行缩进
  其属性值可为不同单位的数值、em字符宽度的倍数、或相对于浏览器窗口宽度的百分比%,允许使用负值.
  建议使用em作为设置单位。
(5) text-decoration:文本的装饰        
  <1> none:默认。定义标准的文本。 取消下划线(最常用)
  <2> underline:定义文本下的一条线。下划线 也是我们链接自带的(常用)
  <3> overline:定义文本上的一条线。(不用)
  <4> line-through: 定义穿过文本下的一条线。(不常用)

 

6 front总结

(1) font-size字号:我们通常用的单位是px像素,一定要跟上单位。
(2) font-family字体:实际工作中按照团队约定来写字体。
(3) font-weight字体粗细:记住加粗是700或者bold,不加粗是normal或者400记住数字不要跟单位。
  <1> normal:默认值(不加粗的)
  <2> bold:定义粗体(加粗的) 
  <3> 100~900:400等同于normal,而700等同于bold。
(4) font-style字体样式:记住倾斜是italic,不倾斜是normal,工作中我们最常用normal。
  <1> normal:默认值,浏览器会显示标准的字体样式。
  <2> italic:浏览器会显示斜体的字体样式。 
(5) font体样式进行综合设置
  <1> 选择器 { font: font-style  font-weight  font-size/line-height  font-family;}
  <2> 注意:
    使用font属性时,必须按上面语法格式中的顺序书写,不能更换顺序,各个属性以**空格**隔开。
    其中不需要设置的属性可以省略(取默认值),但必须保留font-size和font-family属性,否则font属性将不起作用。

 

7 背景(background)

 

8 CSS 三大特性

(1) 层叠性
  <1> 选择器相同,则执行层叠性
  <2> 一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉。
  <3> 样式冲突,遵循的原则是就近原则。
(2) 继承性
  <1> 子标签会继承父标签的某些样式。
  <2> text-、font-、line-这些元素开头的可以继承,以及color属性。
(3) 优先级
  <1> 选择器不同,就会出现优先级的问题。
  <2> 权重计算公式
    继承或者通配符选择器    0,0,0,0      
    标签选择器             0,0,0,1      
    类选择器、伪类选择器     0,0,1,0      
    ID选择器               0,1,0,0      
    行内样式               1,0,0,0      
    !important             ∞无穷大   
  <3> 权重叠加
    复合选择器由多个基础选择器组合而成,需要权重叠加。 
    如果选中了,那么以上面的公式来计权重。谁大听谁的。 
    如果没有选中,那么权重是0,因为继承的权重为0。
    <!--数位之间没有进制:比如说0,0,0,5+0,0,0,5=0,0,0,10而不是0,0,1,0-->

 

9 盒子模型

(1) 盒子边框
  <1> border-width:边框宽度px
  <2> border-style:边框的样式
    虚线:dashed 实线:solid 点线:dotted 无:none
  <3> border-color:边框的颜色
  <4> 边框综合设置
    Border:border-width border-style border-color
  <5> 分别指定四个边框
    Border-top、Border-right、Border-bottom、Border-left
    <!--使用:将以上的border置换成四个中任意一个-->
(2) 内边距
<!--内边距是在width基础上增加,而非从width内部减去-->
  <1> 参数的数量不同,效果不同。
    padding  30px                     上、右、下、左都是30
    padding  30px  10px               上下30,左右20
    padding  10px  20px  30px         上10,左右20,下30
    padding  10px  20px  30px  40px   顺序上、右、下、左,
  <2> 分别指定四个边框
    padding-top、padding-right、padding-bottom、padding-left
  <3> 盒子实际大小
    盒子实际大小=内容的宽度和高度+内边距+边框
  <4> 内边距产生的问题
    解决方法:要不改变盒子实际大小,并且添加内边距时,设置内容宽度width,让内容减去多出来的边距。
(3) 外边距
  <1> margin 边距px
  <2> margin-top、margin-right、margin-bottom、margin-left
  <3> 外边距实现盒子居中
    盒子必须制定宽度width
    然后给左右的外边距都设置为auto
    <!--margin:0 auto;-->
  <4> 初始化
    * {
      margin:0;
      padding:0;
    }
  <5> 问题
    <5.1> 外边距合并
    对于两个设置外边距且相邻的块元素,垂直外边距会合并,取较大的值。
    解决方法:尽量只给一个盒子添加margin值
    <5.2> 嵌套块元素垂直外边距合并(塌陷)
    对于两个嵌套关系的块元素,如果父元素没有上内边距及边框,父元素的上外边距会与子元素的上外边距发生合并,取较大的值。
    解决方法:
    为父元素定义上边框;为父元素定义上内边距;为父元素添加overflow:hidden。
  <6> 盒子模型布局稳定性
      按照优先使用宽度、内边框、外边距:Width>padding>margin

 

posted @ 2023-02-03 22:35  10kcheung  阅读(48)  评论(0)    收藏  举报