前端—CSS层叠样式表

CSS介绍

1、定义
CSS指层叠样式表(Cascading Style Sheets)如何显示控制HTML元素,从而实现美化HTML网页.
通俗来说,指样式与页面结构分开,代码更简洁
2、优势
为了让页面元素的样式更加丰富,也为了让页面的内容和样式能拆分开,CSS由此诞生、有了CSS,HTML中大部分表现样式的标签就废弃不用了,HTML只负责文档的结构和内容,表现形式完全交给CSS,因此HTML文档会变得更加简洁

基本语法

格式: 选择器{属性:值; 属性:值;属性:值;…}
在这里插入图片描述

CSS页面引入

方法一:内联式
通过标签的style属性,在标签上直接写样式
在这里插入图片描述
方法二:嵌入式
通过style标签,在网页上创建嵌入的样式表,比较常用。写在head里

在这里插入图片描述
方法三:外联式: 样式表中只要样式
通过link标签,链接到外部样式表到页面中,最常用。写在head里
在这里插入图片描述
样式表位置建议写相对路径,CSS样式文件建议直接存到CSS目录中,创建一个CSS目录,再在里面创建一个main.css文件,用来编辑样式代码。

# HTML框架 :
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="CSS/main.css">
</head>
<body>

<div>
    <ul>
        <li>一</li>
        <li>二</li>
        <li>三</li>
        <li>四</li>
    </ul>
</div>

<div>
    <ul>
        <li>一</li>
        <li>二</li>
        <li>三</li>
        <li>四</li>
    </ul>
</div>

</body>
</html>

main.css文件:

div{
    border:1px solid red;
    width:700px;
    height:200px
}

常用CSS样式

文本设置

在这里插入图片描述
在这里插入图片描述
例如:

a{
    /*去掉超链接的文本装饰的下划线,常用*/
    text-decoration: none;
}
ul>li{
    /*去掉列表的文本装饰前面的点,常用*/
    list-style: none;
    /*设置行高*/
    line-height: 30px;
}

样式有很多很多,用的时候去官网查即可:W3C

颜色表示法
在这里插入图片描述
刚开始我们在模仿别人的页面去做的时候,如果看到人家用的好看的颜色想拿来用,可以直接看页面的源代码去找,箭头点击想要的颜色区域,右边查看源代码使用到的颜色
在这里插入图片描述

基本选择器

标签选择器
在这里插入图片描述
id选择器:只对一个元素
通过id名来选择元素,元素的id是唯一的,名称不能重复,所以一个样式设置项只能对应页面上的一个元素,不能复用

id名一般给程序使用,所以不推荐使用id作为选择器
先设置标签的id号,再去使用id标签:
在这里插入图片描述
用法:
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="CSS/main.css">
    /*  id选择器的设置样式:#id名称{}  */

<style type="text/css">
	#box{
	    border: 1px solid blue;
	    width: 900px;
	}
</style>

</head>


<body>

<!--   设置div标签的id号信息为"box"    -->
<div id="box">
    <ul>
        <li>一</li>
        <li>二</li>
        <li>三</li>
    </ul>
</div>

</body>
</html>

类选择器:对一类
通过类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类
应用灵活,可复用,是CSS中应用最多的一种选择器。
定义:
.类名{样式设置}
在这里插入图片描述
用法:
在这里插入图片描述
小案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">

        /*标签选择器*/
        table{
            border: 1px solid black;
            width: 50%;
            text-align: center;
            /*块级元素居中: margin: 0 auto */
            /*行内元素居中 : text-align:center   */
            margin: 0 auto;
            /*设置表格的外边距:上外边距*/
            margin-top: 50px;
        }

        /*类选择器*/
        .odd{
            background-color: lightgray;
        }

        /*当鼠标经过odd类对应的标签时,元素的样式*/
        .odd:hover{
            font-size: 120%;
            background-color: gray;
        }

        /*id选择器*/
        #table-head{
            font-weight: bold;
            color: darkgreen;
            font-size:30px ;
        }

    </style>
</head>
<body>

<table>
    <caption id="table-head">表格</caption>
    <tr>
        <td>1-1</td>
        <td>1-2</td>
    </tr>
    <tr class="odd">
        <td>2-1</td>
        <td>2-2</td>
    </tr>
    <tr>
        <td>3-1</td>
        <td>3-2</td>
    </tr>
    <tr class="odd">
        <td>4-1</td>
        <td>4-2</td>
    </tr>
    
</table>

</body>
</html>

层级选择器
主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。
在这里插入图片描述
在这里插入图片描述
组选择器
多个选择器,如果有同样的样式设置,可以使用组选择器

在这里插入图片描述
在这里插入图片描述
伪类及伪元素选择器
常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态,伪元素选择器有before和after,他们可以通过样式在元素中插入内容

在这里插入图片描述

盒子模型

所有HTML元素可以看作盒子,在CSS中,“box model”这一术语是用来设计和布局时使用。
在这里插入图片描述
在这里插入图片描述
外边距和内边距都有上下左右
边框一般有:宽度、实线、颜色

举例:设计一个盒子它的实际内容宽度为300px,有25px内边距,25px外边距,25px绿色边框
那么盒子的总宽度为:300px(实际宽) + 50px(左右内边距) + 50px(左右外边距) + 50px(左右边框) = 450px

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box{
            background-color: lightgray;
            width: 300px;
            border: 25px solid green;
            padding: 25px;
            margin: 25px;
            text-align: center;
        }
    </style>
</head>
<body>

<div class="box">这里是盒子的实际内容</div>

</body>
</html>

在这里插入图片描述
小例子:

<!--声明HTML-->
<!DOCTYPE html>
<!--html文档-->
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>scq的web浏览器 </title>
    <style>
        .box,img{
            width:400px;
        }
        .box{
             border: 2px gray solid;
        }
        .detil{
            font-size: 10px;
            padding: 10px;
            margin-top: 8px;
        }
    </style>
</head>
<body>
<div class="box">
    <div class="image">
        <img src="https://timgsa.baidu.com/timg?image&amp;quality=80&amp;size=b9999_10000&amp;sec=1581836845447&amp;di=2931783df08197da0e9525282ac17348&amp;imgtype=0&amp;src=http%3A%2F%2Fpic1.win4000.com%2Fwallpaper%2F2018-06-19%2F5b28c49d9ef7c.jpg" alt="picture">
    </div>
    <div class="detil">
        《猫和老鼠》从1940年问世以来,一直是全世界最受欢迎的卡通之一。
                      还记得汤姆和杰瑞吗?这是一部史上最“疯狂”、最“暴力”,但也最有趣的动画片。
    </div>



</div>

</body>
</html>


在这里插入图片描述

CSS浮动

1、定义
CSS的Float浮动,会使元素向左或向右移动,其周围的元素也会重新排列。
浮动,往往是用于图像,但它在布局时一样非常有用

2、浮动规则
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小案例

<!--声明HTML-->
<!DOCTYPE html>
<!--html文档-->
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>沈楚琪的web浏览器 </title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .image img{
            width: 50%;
            height: 50%;
            float: left;
        }
        .box{
        border: 1px black solid;
            width:500px;
            height: 200px;
        }
        .detil p{
            font-size: 15px;
            line-height: 20px;
        }
    </style>
</head>
<body>

<div class="box">
    <div class="image">
        <img src="http://image.biaobaiju.com/uploads/20190807/14/1565157870-ASngFMtwZo.jpeg"  alt="picture">
    </div>

    <div class="detil">
        <p>意境头像小清新高清,插画简洁女生男生,呆萌唯美可爱萌萌哒天地灵气孕育出一颗能量巨大的混元珠,元始天尊将混元珠提炼成灵珠和魔丸,灵珠投胎为人,助周伐纣时可堪大用;
        而魔丸则会诞出魔王,为祸人间。元始天尊启动了天劫咒语,3年后,天雷将会降临,摧毁魔丸。</p>
    </div>
</div>

</body>
</html>


在这里插入图片描述

3、清除浮动

clear
案例:网站主页设计

<!--声明HTML-->
<!DOCTYPE html>
<!--html文档-->
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>沈楚琪的web浏览器 </title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .header,.footer{
            background-color: gray;
            clear: left;
            padding: 20px;
        }
        .container{
            width: 100%;
            border: 1px solid gray;
            line-height: 150%;
        }
        .left ul {
            text-align: left;
            border: 1px black solid;
            width: 30%;
            float: left;
            padding: 50px;
            margin-right: 50px;
        }
        .content {
            padding: 16px;
            border-left: blueviolet 1px solid;
            width: 75%;
        }
    </style>
</head>
<body>

<div class="container">

    <div class="header"><h1 class="head">XXX website</h1></div>
    <div class="left">
        <ul>
            <li>python</li>
            <li>go</li>
            <li>c</li>
            <li>java</li>
        </ul>

     <div class="content" >
         <h2>网站介绍</h2>
         <p>
             这里是一些介绍这里是一些介绍这里是一些介绍这里是一些介绍这里是一些介绍
            这里是一些介绍这里是一些介绍这里是一些介绍这里是一些介绍这里是一些介绍
            这里是一些介绍这里是一些介绍这里是一些介绍这里是一些介绍这里是一些介绍
            这里是一些介绍
            欢迎来到本网站!!!!

         </p>

     </div>

    </div>
    <div class="footer"><p><h1>ending</h1></p></div>
</div>

</body>
</html>

在这里插入图片描述

典型布局案例

1、分页
在实现分页之前,先介绍一个属性

display属性
规定元素应该生成的框的类型

常用属性:
在这里插入图片描述
CSS实现分页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        .container{
            width: 50%;
            margin: 0 auto;
        }
        .pagination li{
            /*删除无序列表前面的标记*/
            list-style: none;
            /*每个列表设置为行内块元素*/
            display: inline-block;
            /*设置宽度*/
            width: 30px;
            /*添加边框*/
            /*border: 1px solid black;*/
            /*设置背景颜色*/
            background-color: gold;
            /*设置字体大小*/
            font-size: 12px;
            /*字体居中*/
            text-align: center;
            /*设置内边距:上下为5px,左右为10px*/
            padding: 5px 10px;
        }
        
        .pagination li:hover{
            font-size: 120%;
        }

        .pagination li a{
            /*删除超链接的下划线*/
            text-decoration: none;
            /*设置字体颜色*/
            color: black;
        }

    </style>
</head>
<body>

<div class="container">
    <h1>分页案例</h1>
    <ul class="pagination">
        <li><a href="#">&lt;&lt;</a></li>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li>...</li>
        <li><a href="#">20</a></li>
        <li><a href="#">&gt;&gt;</a></li>
    </ul>

</div>

</body>
</html>
#先设计框架,在读取css样式

注意:

(1)有一个 & lt; & lt; 和 & gt; & gt;

这是 << 和 >>的转义字符,直接写<< 和>>是写不了的
(2)padding 属性的默认值是有4个的,且该属性可以有1~4个值

在这里插入图片描述
页面展示:

在这里插入图片描述

导航栏:

<!--声明HTML-->
<!DOCTYPE html>
<!--html文档-->
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>沈楚琪的web浏览器 </title>
    <style>
        *{margin: 0;
        padding: 0}
        .container{
            margin: 0 auto;
            width: 930px;
            background-color: aqua;
        }
        .page ul li{
            list-style: none;
            display: inline-block;
            text-align: center;
            padding: 12px;
            width: 100px;
            height: 18px;


        }
        .page li:hover{
            font-size: 120%;
        }
        .page li a{
            text-decoration: none;
            color: white;
        }
        .header{text-align: center}
    </style>
</head>
<body>
<div class="header"><h1 >导航</h1></div>

<div class="container">


    <div class="page">
        <ul class="ulpage">
            <li style="background-color: aquamarine"><a href="#" >首页</a></li>
            <li><a href="#">网站建设</a></li>
            <li><a href="#">程序开发</a></li>
            <li><a href="#">网络营销</a></li>
            <li><a href="#">企业VI</a></li>
            <li><a href="#">案例展示</a></li>
            <li><a href="#">企业联系我们</a></li>

        </ul>


</div>

</body>
</html>

在这里插入图片描述
注意:首页颜色与其他背景颜色不同的步骤为在列表中设置背景颜色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值