web前端之css

css——层叠样式表

css用于修饰html,使得html页面的布局更加好看。

1、css的注释

/*单行注释*/

/*
多行注释
*/

2、语法结构

选择器   {属性:属性值; 属性:属性值; 属性:属性值;}

 p {color: red; font-size: 20px}

3、css的引入方式

css有三种引入方式:

I:在标签内通过style属性引入:

<body>
<p style="color: green">我是一个p标签</p>
</body>

效果:

 II:在head内,在style内部直接书写:

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p {color: red}
    </style>
</head>
<body>
<p>我是一个p标签</p>
</body>

效果:

III:通过link的href引入外部的css文件

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="my.css">
</head>
<body>
<p>我是一个p标签</p>
</body>

 my.css文件内容:

/*xx功能区css样式开始*/
p {color: blue}
/*xx功能区css样式结束*/

效果:

4、基本选择器

标签通常都必须有的属性
   id 用来唯一标识标签
   class 标签类属性,可以有多个值
   ps:可以把它理解成python面向对象的继承

I:标签选择器

<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        span {color: red}
    </style>

</head>
<body>
<span>span</span>
<div>div
    <p>p
        <span>span</span>
    </p>
</div>
<div>div</div>
</body>

上面是要span标签里的内容都变为红色。

效果:

II:id选择器----以#开头书写

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #s1 {color: green}
    </style>
</head>
<body>
<span id="s1">span</span>
<div>div
    <p>p
        <span id="s2">span</span>
    </p>
</div>
<div>div</div>
</body>

 上面是让id为s1的标签内的内容显示绿色

效果:

 III:类选择器----以(.)开头书写

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .c1 {color: green}
    </style>
</head>
<body>
<span id="s1">span</span>
<div class="c1">div
    <p>p
        <span id="s2">span</span>
    </p>
</div>
<div class="c2">div</div>
</body>

上面是让类c1中的内容显示绿色

效果:

 IV:通用选择器----*

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {color: green}
    </style>
</head>
<body>
<span id="s1">span</span>
<div class="c1">div
    <p>p
        <span id="s2">span</span>
    </p>
</div>
<div class="c2">div</div>
</body>

使所有的内容都显示绿色,一般不会使用它

效果:

5、组合选择器: 

body内代码:

<body>

<span>我是div上面的span</span>
<div>
    <span>我是div里面的第一个span</span>
    <p>我是div里面的第一个p
        <span>我是div里面的第一个p里面的span</span>
    </p>
    <span>我是div里面的第二个span</span>
</div>
<span>我是div下面的第一个span</span>
<span>我是div下面的第二个span</span>

</body>

I:后代选择器

div span{
            color: red;
        }

div内的所有span都显示红色

效果:

 II:儿子选择器

div>span{
            color: red;
        }

div内第一级的span显示红色

效果:

III:毗邻选择器 :对下不对上

div+span{
            color: red;
        }

div下面毗邻的第一个 span

效果:

IV:弟弟选择器: 对下不对上

div~span{
            color: red;
        }

div下面所有的span

效果:

6、属性选择器 

body内代码:

<body>

<span xxx="2">span</span>
<p xxx>我只有属性名</p>
<p xxx="1">我有属性名和属性值并且值为1</p>
<p xxx="2">我有属性名和属性值并且值为2</p>

</body>

I:只要有xxx属性名的标签都找到

[xxx]   {
            color: blue;
        }

效果:

II:只要标签有属性名为xxx并且值为1

[xxx='1'] {
            color: blue;
        }

 效果:

III:规定p标签内部必须有属性名为xxx并且值为2的标签 

p[xxx='2'] {
            color: blue;
        }

效果:

7、分组与嵌套 

body内文件

<body>

<div>div</div>
<p>p</p>
<span>span</span>

</body>

I:分组:多个元素样式相同时,可以在多个选择器之间以逗号分隔,统一设置样式

div,p,span{color: blue}

效果:

II:嵌套: 

不同的选择器可以共用一个样式
        后代选择器与标签组合使用

div的后代里面的p,span一起设置样式

div p,span{color: blue}

效果:

8、伪类选择器

body内代码

<body>

<a href="https://www.baidu.com">百度</a>
<a href="http://www.xiaohuar.com">校花网</a>
<a href="http://www.sogo.com">搜狗</a>
<label for="s1"><input type="text" id="s1"></label>

</body>

针对a标签

        /* 未访问的链接 */
        a:link {
            color: red;
        }
        /*鼠标悬停到链接上*/
        a:hover {
            color: yellow;
        }
        /*点击链接时*/
        a:active {
            color: black;
        }
        /*访问过的链接*/
        a:visited {
            color: green;
        }
        /*点击时背景*/
        input:focus {
            background-color: pink;
        }

百度访问过,显示绿色

 鼠标悬停在校花网,显示黄色

鼠标点击校花网,显示黑色 

没有访问过的链接,显示红色 

 点击input框输入时,

 9、选择器优先级

行内样式 > id选择器> 类选择器 > 标签选择器

10、伪元素选择器

body内代码:

<body>
<p>秦时明月汉时关</p>
<p>万里长征人未还</p>
<p>但使龙城飞将在</p>
<p>不教胡马度阴山</p>
</body>

I:first-letter----给首字符设置特殊样式

p:first-letter {
            color: red;
            font-size: 48px;
        }

效果:

 

II:before----在每个元素之前插入内容

p:before {
            content: '***';
            color: green;
        }

 效果:

III:after----在每行元素后面追加

p:after {
            content: '!';
            color: deeppink;
            font-size: 48px;
        }

效果:

 

11、样式修改

body内代码

<div>div</div>
<div>div</div>
<p>十年生死两茫茫,不思量,自难忘,千里孤坟,无处话凄凉。</p>

原效果:

 I:调整宽和高(块级标签才能设置)

div {
            width: 400px;
            height: 100px;
            background-color: pink;
        }

效果:

II:调整字体:

body {
  font-family: "Microsoft Yahei", "微软雅黑", "Arial", sans-serif
}

 III:字体大小

p {
            font-size: 36px;
            font-weight: lighter;
        }

font-size  是调整大小

font-weight:lighter    是把字体变细

font-weight:bold    粗体

font-weight:bolder   更粗

font-weight:normal    默认值,标准粗细

效果:

 12、文本颜色

 body内代码

<p>自是人生长恨水长东</p>

 以数字确定颜色

p {
            color: #FF6700;
        }

还有其他三种颜色的定义方法:

p {
            /*color: red;*/
            /*color: rgb(255,0,0);*/
            /*color: #FF6700;*/
            color: rgba(0,0,255,0.2);
        }

 rgba()的最后一个参数指定的是透明度,指定0.2的效果如下:

 13、文本属性

text-align: center;            /* 文本居中显示*/

text-align: right;           /*右对齐*/

text-align: left;           /*左对齐*/

text-align: justify      /*两端对齐*/

text-decoration: line-through;     /*删除线*/

效果:

text-decoration: underline;    /*下划线*/
text-decoration: overline;    /*文字上部划线*/

text-decoration: none;   /*定义标准的文本*/

</style>       
 a {
            text-decoration: none;
        }
</style>
</head>
<body>
<a href="http://www.xiaohuar.com">笑话网</a>
</body>

如上给a标签加了标准文本模式,那么网页链接的下划线就会取消:

text-indent: 32px        /*首行缩进32px*/

p {
  text-indent: 32px;
}

 14、背景属性

background-color: green;     /*设置背景颜色*/

background-image: url("1.png");     /*设置背景图片*/

background-repeat: no-repeat;    /* 背景重复*/

/*
repeat(默认):背景图片平铺排满整个网页
repeat-x:背景图片只在水平方向上平铺
repeat-y:背景图片只在垂直方向上平铺
no-repeat:背景图片不平铺
*/

background-position: center;      /*背景图片的位置*/

background-position: left top;

background-position: 200px 200px;

上面写了可以简写:

background: no-repeat center url("1.png") blue ;    /*里面顺序不是固定的*/

背景图片示例:

如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失。通过background-attachment:fixed   这个属性,可以声明图像相对于可视区是固定的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
        <style>
        .c1 {
            height: 400px;
            background-color: tomato;
        }
        .box {
            height: 400px;
            background: url("http://gss0.baidu.com/94o3dSag_xI4khGko9WTAnF6hhy/zhidao/wh%3D450%2C600/sign=e9952f4a6f09c93d07a706f3aa0dd4ea/4a36acaf2edda3cc5c5bdd6409e93901213f9232.jpg");
            background-attachment: fixed;
        }
        .c2 {
            height: 400px;
            background-color: red;
        }
        .c3 {
            height: 400px;
            background-color: fuchsia;
        }
    </style>
</head>
<body>

<div class="c1"></div>
<div class="box"></div>
<div class="c2"></div>
<div class="c3"></div>

</body>
</html>

 15、边框

div {
            border-width: 3px;
            border-style: dashed;
            border-color: tomato;
        }

效果:

上述可以简写为: border: 3px solid red;

 边框样式:

    dotted:点状虚线边框

    dashed:矩形虚线边框

    solid:实线边框

    none:无边框

16、画圆

border-radius可以实现圆形边框的效果,将其设置为长或高的一半即可得到一个圆形。

 div {
            width: 400px;
            height: 400px;
            background-color: red;
            border: 3px solid black;
            border-radius: 50%;
        }

效果: 

17、display属性 

body内容:

<div>div</div>
<div>div</div>
<span>span</span>
<span>span</span>

I:隐藏 div,并且不占空间,不会影响布局

div {
            display: none;
        }

效果:

II: inline将块儿级标签变成行内标签

div {
            display: inline;
        }

效果:

 

III:block将行内标签变为块级标签

span   {
            display: block;
        }

效果:

 

IV:inline-block让选择的标签既具有行内标签特点又有块儿级标签的特点,即可以调节长宽。

span {
            display: inline-block;
            height: 400px;
            width: 400px;
            background-color: red;
            border: 3px solid black;
        }

效果:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值