前端之CSS(一)

一、什么是 CSS?

  • CSS 指层叠样式表 (Cascading Style Sheets)
  • 样式定义如何显示 HTML 元素
  • 样式通常存储在样式表
  • 把样式添加到 HTML 中,是为了解决内容与表现分离的问题
  • 外部样式表可以极大提高工作效率
  • 外部样式表通常存储在 CSS 文件

样式解决了一个很大的问题

HTML 标签原本被设计为用于定义文档内容,如下实例:

<h1>这是一个标题</h1>
<p>这是一个段落。</p>

样式表定义如何显示 HTML 元素,就像 HTML 中的字体标签和颜色属性所起的作用那样。样式通常保存在外部的 .css 文件中。我们只需要编辑一个简单的 CSS 文档就可以改变所有页面的布局和外观。

二、CSS实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>实例(runoob.com)</title>
<style>
body {background-color:yellow;}
h1   {font-size:36pt;}
h2   {color:blue;}
p    {margin-left:50px;}
</style>
</head>

<body>

<h1>这个标题设置的大小为 36 pt</h1>
<h2>这个标题设置的颜色为蓝色:blue</h2>

<p>这个段落的左外边距为 50 像素:50px</p> 

</body>
</html> 

三、CSS语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:

选择器通常是您需要改变样式的 HTML 元素。

每条声明由一个属性和一个值组成。

属性(property)是希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。

四、CSS注释

注释是用来解释你的代码,并且可以随意编辑它,浏览器会忽略它。

CSS注释以 "/*" 开始, 以 "*/" 结束,

/*这是个注释*/
p
{
text-align:center;
/*这是另一个注释*/
color:black;
font-family:arial;
}

五、选择器

1.基本选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 "#" 来定义

 

class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。

class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示:

 

还有标签选择器 span、div...,通用选择器*

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*标签选择器 所有span标签的颜色都是红色*/
        span {
            color: red;
        }
        /*id选择器*/
        #s1 {
            font-size: 24px;
        }
        /*类选择器*/
        .c1 {
            color: orange;
        }
        /*通用选择器*/
        * {
           color: blue;
        }
    </style>
</head>
<body>
<span id="s1">span</span>
<div class="c1">div
    <p>p
        <span>span</span>
    </p>
</div>
<div class="c1">div</div>
</body>
</html>

2.组合选择器

  • 后代选择器(以空格分隔)
  • 子元素选择器(以大于号分隔)
  • 相邻兄弟选择器(以加号分隔)
  • 普通兄弟选择器(以破折号分隔)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*后代选择器  div里面所有的span标签都变成蓝色*/
        div span{
            color: blue;
        }
        /*儿子选择器*/
        div>span {
            color: red;
        }
        /*毗邻选择器 对下不对上*/
        div+span {
            color: blue;
        }
        /*弟弟选择器 对下不对上*/
        div~span {
            color: deeppink;
        /*}*/
    </style>
</head>
<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>
</html>

3.属性选择器

具有特定属性的HTML元素样式不仅仅是class和id,下面是自定义属性(xxx)的例子:

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

        /*只要有xxx属性名的标签都找到*/
        [xxx] {
            color: red;
        }
        /*只要标签有属性名为xxx并且值为1*/
        [xxx='1'] {
            color: blue;
        }
        /*规定p标签内部必须有属性名为xxx并且值为2的标签*/
        p[xxx='2'] {
          color: green;
        }
    </style>
</head>
<body>
<span xxx="2">span</span>
<p xxx>我只有属性名</p>
<p xxx="1">我有属性名和属性值并且值为1</p>
<p xxx="2">我有属性名和属性值并且值为2</p>
</body>
</html>

4.伪类选择器

CSS伪类是用来添加一些选择器的特殊效果。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*提示信息默认颜色*/
        a:link {
            color: red;
        }
        /*鼠标悬浮时颜色*/
        a:hover {
            color: yellow;
        }
        /*鼠标点击时颜色*/
        a:active {
            color: black;
        }
        /*进入网址返回后的颜色*/
        a:visited {
            color: green;
        }
        /*点击提示信息,自动聚焦输入框,红背景色*/
        input:focus {
            background-color: red;
        }
    </style>
</head>
<body>
<a href="https://www.baidu.com">百度</a>
<input type="text">
</body>
</html>

5.伪元素选择器

"first-letter" 伪元素用于向文本的首字母设置特殊样式:

":before" 伪元素可以在元素的内容前面插入新内容。

":after" 伪元素可以在元素的内容之后插入新内容。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*调整首字颜色,大小*/
        p:first-letter {
            color: red;
            font-size: 24px;
        }
        /*首字前添加绿色*/
        p:before {
            content: '*';
            color: green;
        }
         /*行末添加粉色?并调整大小*/
        p:after {
            content: '?';
            color: deeppink;
            font-size: 48px;
        }
    </style>
</head>
<body>
<p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
<p>继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的</p>
</body>
</html>

6.分组、嵌套

分组选择器

在样式表中有很多具有相同样式的元素。

嵌套选择器

它可能适用于选择器内部的选择器的样式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            color: red;
        }
        p {
            color: red;
        }
        span {
            color: red;
        }
        /*分组*/
        div,p,span {
            color: blue;
        }
        /*嵌套:不同的选择器可以共用一个样式
        后代选择器与标签组合使用
        */
        div p,span {
            color: red;
        }
    </style>
</head>
<body>
<div>div</div>
<p>p</p>
<span>span</span>
</body>
</html>

7.选择器优先级

相同选择器,不同引入方式:就近原则

不同选择器,相同引入方式:行内样式>ID选择器>类选择器>标签选择器

六、CSS 文本格式

1.文本颜色

颜色属性被用来设置文字的颜色。

颜色是通过CSS最经常的指定:

  • 十六进制值 - 如: #FF0000
  • 一个RGB值 - 如: RGB(255,0,0)
  • 颜色的名称 - 如: red
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            p {
                color: red;
                color: rgb(0,0,255);
                color: #FF6700;
                color: rgba(0,0,255,0.8);
            }
        </style>
    </head>
    <body>
    <p>浏览器会使用吗</p>
    </body>
    </html>  

2.文本的对齐、修饰方式

文本排列属性是用来设置文本的水平对齐方式。

文本可居中或对齐到左或右,两端对齐.

当text-align设置为"justify",每一行被展开为宽度相等,左,右外边距是对齐(如杂志和报纸)。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p {
            text-align: right;
            /*text-decoration: underline;*/
            /*text-decoration: overline;*/
            text-decoration: line-through;
            text-indent: 48px;
        }
        a {
            text-decoration: none;
        }
    </style>
</head>
<body>
<p>以把多个字体名称作为</p>
<a href="http://www.xiaohuar.com">笑话网</a>
</body>
</html>

七、CSS3 背景

CSS3中包含的背景属性,提供背景元素控制。

  • background-image 添加背景图片
  • background-size  指定背景图像的大小
  • background-repeat  背景图片平铺位置
  • background-position   指定背景位置
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            width: 400px;
            height: 400px;
            background-color: green;
            background-image: url("1.png");
            background-repeat: no-repeat;
            background-position: center;
            background: no-repeat center url("1.png") blue ;
        }
    </style>
</head>
<body>
<div></div>
</body>
</html>

八、CSS 边框、圆

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            border-width: 3px;
            border-style: dashed;
            border-color: deeppink;
            border: 3px solid red;
        }
    </style>
</head>
<body>
<div>div</div>
</body>
</html> 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            width: 400px;
            height: 400px;
            background-color: red;
            border: 3px solid black;
            border-radius: 50%;
        }
    </style>
</head>
<body>
<div></div>

</body>
</html> 

九、display属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*div {*/
            /*display: none;*/
        /*}*/
        /*inline将块儿级标签变成行内标签*/
        /*div {*/
            /*display: inline;*/
        /*}*/
        /*span   {*/
            /*display: block;*/
        /*}*/
        /*将选择的标签既具有行内标签特点又有块儿级标签的特点*/
        span {
            display: inline-block;
            height: 400px;
            width: 400px;
            background-color: red;
            border: 3px solid black;
        }

    </style>
</head>
<body>
<div>div</div>
<div>div</div>
<span>span</span>
<span>span</span>
</body>
</html>

  

posted @ 2019-05-29 22:31  西西灬弗斯  阅读(103)  评论(0编辑  收藏  举报