css选择器和盒子模型

81 阅读5分钟

css引入方式

1·行内式

1·行内样式表(行内式):直接在标签的内部的style属性设置css样式

<div style="color:pink;"> 粉红色行内式 </div>

粉红色行内式

2·嵌入式

2·内部样式表(嵌入式):就是子啊HTML页面的内部写样式,但是要单独写到<style>标签内部

 <style>
    .pink {
        color: pink;
    }
 </style>
 <div class="pink"> 粉红色嵌入式</div>

.pink { color: pink; }
粉红色嵌入式

3·链接式

3·外部样式表(链接式):单独写到一个css文件里面,之后把css文件引入到HTML页面中使用 分两步: 1·建立一个后缀为.css的文件,将所有的css代码放到这里面 2·在HTML页面中,使用<link>标签引入这个文件

<link rel="stylesheet" href="[css文件路径]">

Emmet语法


快速格式化文档

shift+alt+f


css复合选择器

1·复合选择器由至少2个的基础选择器组合而成 2·常用的复合选择器包括,后代选择器,子选择器,并集选择器,伪类选择器等

后代选择器

例如,页面中同时有无序列表<ul></ul>和有序列表<ol></ol>, 他们之中都有<li></li>标签,但是当我们我们只要选择其中一个的<li></li>标签时,就可以用到后代选择器

语法:

元素1 元素2 {
    样式申明 
}
表示选择元素一里面所有的元素二标签


    <style>
        ol li {
            color: pink;
        }

    </style>

    <ol>
        <li> 我是ol中的li </li>
        <li> 我是ol中的li </li>
        <li> 我是ol中的li </li>
    </ol>

    <ul>
        <li> 我是ul中的li </li>
        <li> 我是ul中的li </li>
        <li> 我是ul中的li </li>
    </ul>

只有有序列表<ol></ol>里面的字体变粉红色
ol li { color: pink; }
  1. 我是ol中的li
  2. 我是ol中的li
  3. 我是ol中的li
  • 我是ul中的li
  • 我是ul中的li
  • 我是ul中的li
``` ```

当出现这这样的情况时

ol li { color: pink; }
  1. 我是ol中的li
  2. 我是ol中的li
  3. 我是ol中的li

我想要第二个无序列表里面的 最后一行 我是ul中的li变为黄色yellow

此时可以写为


<style>
       .red ol li a{
            color: yellow;
        }  
</style>

<ol>
    <li> 我是ol中的li </li>
    <li> 我是ol中的li </li>
    <li> 我是ol中的li </li>
</ol>

<ul>
    <li> 我是ul中的li </li>
    <li> 我是ul中的li </li>
    <li> <a href="#"> 我是ul中的li </a></li>
</ul>

<ul class="red">
    <li> 我是ul中的li </li>
    <li> 我是ul中的li </li>
    <li> <a href="#"> 我是ul中的li </a> </li>
</ul>

.red li a { color: yellow; }
  1. 我是ol中的li
  2. 我是ol中的li
  3. 我是ol中的li

后代选择器中的元素也可以是其他任意的基础选择器

<style>
       .red ol li a{
            color: red;
        }  
</style>

子元素选择器

子元素选择器只能选择作为某元素的最近一级子元素,简单理解就是选择亲儿子元素

语法:

元素1 > 元素2{
    样式声明
}

表示只选择元素一里面所有的最近一级的直接后代(子元素) 例如:将div里面最近一级的<P></P>里面的字体设置为红色

div > a {
    color: red;
}
<style>
    .divv > a {
        color: red;
}
    </style>
<div class="divv">
    <p> <a href="#"> div标签中p标签中的a标签</a></p>
    <a href="#"> div标签直接的a标签</a>
<div>

只把div标签中直接存在的a></a>标签变红

.divv > a { color: red; }

div标签中p标签中的a标签

div标签直接的a标签

并集选择器

并集选择器可以同时选择多组标签,同时为他们定义相同的样式,通常用于集体声明

通过使用英文逗号(,)连接而成,任何形式的选择器也可以作为并集选择器的一部分 语法:

元素1,元素2···{
    样式声明
}

例如:将ul和div标签里面的字体变为红色

ul,div{
    color:red:
}

伪类选择器

链接伪类选择器

伪类选择器用于向某些选择器中添加特殊的效果,比如给链接添加特殊效果 语法:

   a:[链接效果词]{

   }

例如:

<style>
    a:hover {
        color:green;
    }
</style>

<a href= "#"> 鼠标划到我这里变为绿色</a>
.nv:hover { color: green; }

鼠标划到我这里变为绿色


focus伪类选择器

focus把表单元素中被鼠标选取的那个标签进行样式更改 例如:下面有三个输入框,鼠标选中哪个,那个输入框就会有变化

<style>
    input:focus{
        background-color:pink;
        color:red;
    }
    </style>
    <input type="text">
    <input type="text">
    <input type="text">

input:focus{ background-color:pink; color:red; }

css元素显示模式

网页的标签很多,在不同的地方会用到不同的标签,了解他们的特点可以更好的帮助我们布局页面

元素显示模式就是元素(标签)以什么样的方式显示,比如<div>自己独占一行,比如一行可以放多个<span>

HTML元素一般分为块元素行内元素两种类型

块元素

<div></div>就是最典型的块元素 特点: 1·独占一行 2·高度,宽度,外边距以及内边距都可以控制 3·宽度默认是容器(父级宽度)的100% 4·是一个容器及盒子,里面可以放块元素或者行内元素

ps:文字类元素内不能使用块元素,例如p段落标签

行内元素

特点: 1·相邻行内元素在一行上,一行可以显示多个 2·高宽直接设置是无效的 3·默认宽度是他内容本身的宽度 4·行内元素只能容纳文本或者其他行内元素

行内块元素

有一些特殊的标签,<img/>,<input>,<td>他们同时具有块元素和行内块元素的特点 特点: 1·和相邻的行内元素在一行,但是他们之间会有空隙,一行可以显示多个 2·默认的宽度就是他容器本身里面内容的宽度 3·高度,行高,外边距,内边距都可以控制