0
点赞
收藏
分享

微信扫一扫

css基础大全

晒大太阳了 2022-04-14 阅读 76

目录

选择器

标签选择器

类选择器

id选择器

统配符选择器

后代选择器

子选择器

并集选择器

链接伪类选择器

focus伪类选择器

字体属性

复合属性

字体属性:下划线,行间距,首行缩进

样式表

外部样式表

行内样式表

元素显示模式

块元素

行内元素

行内块元素(特殊)

元素显示模式的转化

snipaste工具的使用

背景设置 

背景颜色

插入背景图片

背景图像平铺

背景图像位置

背景图像固定

背景图片的综合属性

css三大特性 

层叠性

继承性

行高的继承

优先级

边框 border

表格的边框

内容 content

内边距 padding

外边距 margin

清除内外边距

 圆角边框

 背景阴影

 文字阴影

浮动

为什么需要浮动

浮动的特性

浮动元素会脱离标准流

浮动元素一行显示

浮动元素会具有行内块元素的特性

伪类约束浮动元素位置

浮动盒子注意点

清除浮动

为什么要清除浮动

清除浮动方法

额外标签法

overflow

after伪元素

双伪元素法

bootstrap案例

栅格系统示例

网页内容界面

 用户登录界面

Font-Awesome图标库使用


这篇整合了之前所有的笔记各部分案例(其实就是把之前的东西复制粘贴到了一篇上去),字多点是不是阅读量会不会高一点啊hhh,也算方便查看吧

选择器

标签选择器

<style>
    h1 {
        color: rgb(255, 0, 0)
    }
</style>

类选择器

在标签中加入class=""

    <style>
        .red {
            color : red
        }
        .h-xiaogang {
            color: green
        }
    </style>
<body>
    <ul>
        <li class="red">huxiaogang</li>
        <li class="h-xiaogang">hurunjie</li>
    </ul>
</body>

id选择器

id选择器只能被调用一次

    <style>
        #red{
            color: red;
        }
    </style>

<body>
    <div id="red">id选择器只能被调用一次</div>

</body>

统配符选择器

会把所有的标签变成红色 可以清楚所有标签的内外边距

    <style>
        *{
            color: red;

        }
    </style>
</head>
<body>
    <ul>
        <li class="red">会把所有的标签变成红色</li>
        <li class="h-xiaogang">可以清除所有标签的内外边距</li>
    </ul>
</body>

后代选择器


    <style>
        ol li {
        color: pink;
    }
    </style>



<body>
    <ol>
        <li>我是ol的孩子</ol></li>
    </ol>    
    <ul>
        <li>我是ul的孩子</li>
    </ul>
</body>

子选择器

    <style>
        .nav > a {
            color: antiquewhite;
        }
    </style>

<body>
    <div class="nav">
        <a href="#">我是儿子</a>
        <p>
            <a>我是孙子</a>
        </p>
    </div>

并集选择器


    <style>
        p1,div,ol{
            color: pink;
        }
    </style>

<body>
    <p1> 宋t </p1>
    <div>wxhn</div>
    <ul>
        <ol>你说是不是呢</ol>
    </ul>
</body>
</html>

链接伪类选择器

改变链接的样式

    <style>
        a:link{
            color:red
        }
        /* 选择所有未被访问的链接 */
        h2:visited{
            color:green
        }
        /* 选择所有已被访问的链接 */
        h3:hover{
            color:orange
        }
        /* 选择鼠标指针位于其上的链接 */
        h4:active{
            color:blue
        }
        /* 选择活动链接(鼠标按下未tan'qi */
    </style>

为了确保生效 按照LVHA顺序写

在实际开发中的写法,先给a标签设计一个样式,再给链接设计一个样式

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

focus伪类选择器

获取光标所在的表单元素

光标在哪个表单里就获取哪个

    <style>
        input:focus{
            background-color: red;
        }
    </style>

字体属性

family:字体  size:大小  weight:粗细 sytle:形式(加租 倾斜)


    <style>
        h1 {
            font-family: "Microsoft YaHei";
        }
        P {
            font-size: 20px;
        }
        /* <!-- 谷歌浏览器默认的大小时16px --> */
        p {
            font-weight: 100;   
        }
        p {
            font-style: italic;
        }
    </style>

复合属性

可以写在一起 有顺序 font :font-style font-weight font-size/height font-family 不需要的设置可以省略,但是必需保留size和family

    <style>
        p {
            font: italic 100 16px "microsoft yahei";
        }
    </style>

字体属性:下划线,行间距,首行缩进

    <style>
        div {
            text-decoration: underline;  
            /* 下划线 */
        }
        div {
            text-indent: 2em;
            /* 首行缩进  一个em就是一个当前文字的大小*/ 
        }
        div{
            line-height: 26px
            /* 行间距 */
        }

    </style>

样式表

外部样式表

需要创建一个css文件然后将东西插入

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>内部样式表,行内样式表 外部样式表</title>
    <link rel="stylesheet" href="css_3.1.css">
</head>
<body>

行内样式表

    <h1>《面朝大海,春暖花开》</h1>
    <p style="color:aqua">从明天起,做一个幸福的人</p> 

元素显示模式

什么是元素显示模式

元素以什么方式进行显示,比如div自己占一行,span一行可以有多个,这样html元素一般分为块元素和行内元素

块元素

块级元素有 h p div ul ol li等

块级元素特点

1.自己独占一行

2.可以给他设置宽度和高度,内外边距都可以控制

3.里面还可以放行内元素或块级元素

注意:文字类元素内不能使用块级标签,就像p1,h1等标签中不能放div

行内元素

行内元素有a,strong,span等

特点

1.行内元素可以在一行上,一行可以显示多个

2.高宽的设置是无效的,默认的宽度就是它本身的宽度

3.行内元素只能容纳文本或其他的行内元素

注意:链接里面不能再放链接,但是a标签里面可以放块级元素

行内块元素(特殊)

定义:同时具有块元素和行内元素特点,比如img元素,td元素 input元素 <br/>

元素显示模式的转化

display: block; 行内元素转化为块元素

display: inline; 块元素转化为行内元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>元素显示模式的转化</title>
    <style>
        a {
            width: 250px;
            height: 250px;
            background-color: pink;
            display: block;
        }
        div {
            background-color: blueviolet;
            display: inline;
        }
    </style>
</head>
<body>
    <a>
        比如再特殊情况下给a链接设置长度宽度
    </a>
    <div>我是块级元素</div>
    <div>我是块级元素</div>
</body>
</html>

snipaste工具的使用

快捷键

截屏:F1

截屏并自动复制:Ctrl+F1

自定义截图:Shift+F1

贴图:F3

隐藏/显示所有贴图:Shift+F3

切换到另一贴图组:Ctrl+F3

更多详情请百度

背景设置 

背景颜色

background-color

插入背景图片

background-image: url(文件路径)

注意页面元素既可以添加背景颜色又可以添加背景图片,只不过背景图片会压住背景颜色

背景图像平铺

background-repeat:no-repeat;

background-repeat:repeat-x;

background-repeat:repeat-y;

background-repeat:no-repeat;

背景图像位置

background-position: x y; 后面可以跟方位名词或精确名词 */

background-position: center top;  

 /* 写方位名词和顺序没有关系  若只写了一个,则另一个默认居中对齐*/

background-position:20px 50px ;

background-position: 20px center;

背景图像固定

background-attachment: scroll;

scroll为背景随对象内容滚动 fixed为背景图像固定

背景图片的综合属性

 background: black url() no-repeat fixed center top; 

背景颜色 图片地址 背景平铺 背景图像滚动 图片位置

css三大特性 

层叠性

给同一个标签 用两个相同的选择器设置了相同的属性,比如都设置了颜色,哪个样式离结构进,执行哪个,就近原则

下面的代码a标签最后会变成蓝色

<style>
    a {
        color: red;
    }    
    a {
        color: blue;
    }
</style>

    <h2>层叠性</h2>
    <a>
给同一个标签 用两个相同的选择器设置了相同的属性,比如都设置了颜色,哪个样式离结构进,执行哪个,就近原则
    </a>

继承性

假设给div指定一个样式,div里面的标签也会继承这个样式

行高的继承

<style>
        h2{
            color:antiquewhite!important;
            font:12px/1.5 "Micorsoft yahei"
            /* 这个1.5就是当前元素文字大小的1.5倍 所有当前h2的行高为21像素 */
        }
</style>

颜色可以继承,字体行高和大小也可以继承,代码书写如上

优先级

    <a class="qqqqq" id="qqq">选择器不同有权重  

    元素选择器<类选择器,伪类选择器<id选择器<行内样式表<important

    注意:继承的权重是0  即给单独给子标签指定一个样式,则显示指定的样式,此时不会继承

    a链接浏览器默认指定一个蓝色的样式 有下划线  a{color:blue};

 越往后权重越大

注意:复合选择器在一起也遵循权重,哪个合起来的权重大就显示哪个,但是权重相加不能进位,例如十个h加起来是0,0,0,10 永远也超不过一个0,0,1,0

边框 border

1.边框样式 border-style:solid 实线边框 dashed 虚线边框 dotted点线边框

2.边框颜色 border-color

3.复合写法:border: 1px solid black 简写没有顺序

4.给上下边框分别设置 border-top border-bottom right left

边框会影响盒子实际使用的大小1.测量盒子的大小不量边框,如果测量是时候包含了边框,则需要width/height减去边框

表格的边框

给表格设置边框不仅需要给表格(<table>)设置,还需要给单元格设置(<td>)

通过上面的方法设置边框后,两个单元格的边界时黏在一起的,通过border-collapse 合并相邻的边框

内容 content

即书写在盒子里面的内容

内边距 padding

1.padding-top bottom right left

2.复合写法:后面有一个值代表上下左右都有

有两个代表上下 左右

三个代表上 左右  

四个代表上右下左

2.padding影响盒子大小,会把盒子撑大,用width和height减去多出来的内边距大小为原来盒子大小

3.padding不会撑开盒子的情况:如果盒子本身没有指定width和height属性,则padding不会撑开盒子大小

外边距 margin

1.margin-yop bottom left right

2.margin和padding的简写一样

3.块级盒子水平居中对齐(见上面的style)

<style>
.huhuhu {
      background-color:pink;
      width: 300px;
      height: 300px;
      margin:0 auto;
        }
</style>
<div class="huhuhu"></div>

输出结果 

4.行内元素和行内块元素水平居中:text-align:center

5.相邻块元素的合并:当上下两个块元素相遇时,如果上面的元素有下边距,下面的元素有上边距,题目之间的垂直间距不是bottom与top的和,而是去两者中较大的

6.嵌套块元素垂直外边距的塌陷:如果两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值

   <style>   
        .hu{
        width:400px;
        height:400px;
        background-color: purple;
        margin-top: 50px;
        }
        .huhu{
            width:200px;
            height:200px;
            background-color: pink;
            margin-top:100px;
        }
    </style>

<div class="hu">
        <div class="huhu"></div>
</div>

如果我们有如图所示的一个盒子,我们想要的输出结果是子div元素可以直接向下移动,从而有居中的效果,我们加了这样一句代码margin-top:100px;

结果却是父div整个下降了100像素,这样的情况就叫嵌套块元素垂直外边距的塌陷

 我们可以用这三个方法解决

border:1px solid transparent;
/* 为父元素定义一个透明的上边框 */
padding:1px;
/* 为父元素定义一个内边距 */
overflow:hidden;
/* 隐藏浮动 */

清除内外边距

/* css的第一句代码 */
* {
   padding:0;
   margin:0;   
  }

行内元素只设置左右内外边距,不要设置上下内外边距,但是转化为块级元素就可以了

 圆角边框

border-radius

 <style>
        .hu {
        width:100px;
        height:100px;
        background-color:pink;
        border-radius: 50px 50%; 
        /* radius越大,圆角弧度越大 */
        /* 当半径设置为正方形盒子宽度或高度的一半,就可以变为圆形 */
        /* 如果要设置圆角矩形,则半径设置为高度的一半 */
        }
    .huhu {
        width:100px;
        height:100px;
        background-color:pink;
        border-radius: 50px 10px 20px 40px;
        /* 顺时针设置圆的半径,可以设置不同角度的盒子 */
        /* 只有两个数据则是对角线相等 */
    }


    </style>
    

<body>
    <div class="hu"></div>
    <div class="huhu"></div>

</body>

效果图

 背景阴影

    <style>

    .huhuhu{
        width:300px;
        height:300px;
        background-color: pink;
        margin:100px auto;
        box-shadow: 10px 10px 10px 10px rgba(0,0,0,.3);
        /* 水平阴影的位置 垂直阴影 模糊距离(虚实) 阴影尺寸  阴影颜色 */
        /* 阴影不占用空间 */
    }
    </style>
    
<body>
    <div class="huhuhu"></div>
</body>

效果图

 文字阴影

    <style>
    a {
        width:100px;
        height:100ox;
        background-color: pink;
        text-shadow: 5px 5px 6px rgba(0,0,0,.3);
    }
    </style>
    <a>qqqqqqqqqqqq</a>

 

效果图

浮动

为什么需要浮动

标准流当中的标签通常纵向排列,有的情况没有办法完成

网页布局第一准则:多个块级元素纵向排列找标准流,横向排列找浮动

浮动的特性

浮动元素会脱离标准流

浮动的盒子不再保留原来的位置,比如有两个盒子,给第一个元素加了做浮动之后,第二个盒子会到第一个盒子的位置上去

浮动元素一行显示

如果多个盒子都设置了浮动,则他们会按照属性值一行内显示并且顶端对其排列,但是如果父级宽度装不下这些盒子,多出来的盒子会另起一行对其

浮动元素会具有行内块元素的特性

行内元素有了浮动则不需要转换就可以直接给高度和宽度

如果块级盒子没有设置宽度,默认宽度和父级一样宽。添加浮动后,它的大小跟内容来决定

伪类约束浮动元素位置

我们先用标准流的父元素上下排列,之后内部子元素采取浮动排列左右

浮动盒子注意点

1.一个盒子里面有多个盒子,其中一个盒子浮动了,其它兄弟也应该浮动

2.浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流

比如有三个盒子第一个盒子不浮动,第二个盒子浮动,则第一个盒子不动,第二和盒子不动,第三个盒子压住第二个盒子

清除浮动

为什么要清除浮动

由于父级盒子很多情况下不方便给高度,但是子盒子浮动又不占位置,最后父级盒子高度为0,就会影响下面的标准流盒子

清除浮动方法

额外标签法

找到最后一个浮动的元素 加上应该clear:both 这个标签必须是块级元素

overflow

给父级元素增加overflow:hidden(外边距合并时也用此代码)

after伪元素

 <style>
        .clearfix:after {
            content: "";
            display: block;
            height :0;
            clear:both;
            visibility:hidden;
        }

        .clearfix {
            *zoom: 1
        }
</style>

双伪元素法

        .clearfix:before,.clearfix:after{
            content: "";
            display: block;
        }
        .clearfix:after{
            clear: both;
        }
        .clearfix{
            *zoom:1;
        }

bootstrap案例

当学完了css的基础之后我们直接写各式各样的盒子再布局显然是非常麻烦的,我们可以通过BootStrap上面现有的代码来帮助我们快速进行页面布局

栅格系统示例

我们可以利用BootStrap里面的栅格系统,再你定义一个大盒子之后,将大盒子里面的区域细分

栅格系统只是一个实例,里面有很多样式和组件

网页内容界面

我们可以利用里面的媒体对象,栅格系统,媒体对象,直接创建两个部分

里面的出来head中引入bootstrap之后的div中的内容都是复制粘贴,第一个class为表头,其中<div class="container clearfix">是创建了一个居中清除浮动的大盒子把下面的栅格系统放进去

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="static/plugsin/bootstrap-3.4.1-dist/css/bootstrap.css">
</head>

<body>
<div class="navbar navbar-default">...
</div>

<div class="container clearfix">......
    <div class="col-sm-9">...
    <div>
    <div class="col-sm-3">...
    </div>
</body>

输出效果 

 用户登录界面

下面就是简单引用了表格

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="用户登录系统" href="static/plugsin/bootstrap-3.4.1-dist/css/bootstrap.css">
    <style>
        .hu{
        width: 500px;
        height:500px;
        margin-left:auto;
        margin-right:auto;
        margin-top:100px;
        /* background-color:pink; */
        }
        h1 {
        text-align:center;
        }
    </style>
</head>
<body>
<div class="hu">
    <h1 class="huhu">用户登录系统</h1>
    <form>
    <div class="form-group">...
    </div>
    <div class="form-group">...
    </div>
    <div class="form-group">...
    </div>
    <div class="checkbox">...
    </div>
    <button type="submit" class="btn btn-default">Submit</button>
    </form>
</div>
</body>

 

Font-Awesome图标库使用

BootStrap中的图片有的时候不能满足我们的使用,这样就可以使用另一个图标库

 还可以给你的图标加上颜色

<i class="fa fa-reorder" aria-hidden="true" style="color:red"></i>

在图片标签后面加一个样式,就可以添加颜色

举报

相关推荐

0 条评论