• 前端基础——CSS


    一、CSS样式引入方式

       1.内联式:

    <p style="color: blue">CSS样式</p>

      2.嵌入式:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>网页标题</title>
        <style type="text/css">
            p{color: red;}
        </style>
    </head>
    <body>
        <p>CSS样式</p>
    </body>
    </html>

      3.外部式:

    <link href="style.css" rel="stylesheet" type="text/css" />

      一般而言,遵循就近原则:上述序号:1 > 2 >3(权值相同情况下,将在后续介绍权值)

     二、CSS选择器

      格式:  

    选择器{
        样式;
    }

      1.标签选择器:按标签名称选择——标签名{}

        p{
                color: red;
            }

      2.类选择器:根据class类名进行选择—— .类名{}

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>网页标题</title>
        <style type="text/css">
            .teststyle{
                color: blue;
            }
        </style>
    </head>
    <body>
        <p class="teststyle">CSS样式</p>
    </body>
    </html>

      3.ID选择器:根据id选择——#{id名}

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>网页标题</title>
        <style type="text/css">
            #teststyle{
                color: green;
            }
        </style>
    </head>
    <body>
        <p id="teststyle">CSS样式</p>
    </body>
    </html>

      4.子选择器:选择第一代子类元素——使用 >

    .first>span{
        border:1px solid red;
    }

      5.后代选择器:选择所有后代,而非第4点中的直接后代——使用空格

    .first span{
      color:red;
    }

      6.通用选择器:选择所有元素——使用 *

    * {
      color:red;
    }

      7.伪类元素选择器:这里介绍比较通用的a标签的4个伪类

    link 未访问(默认) hover 鼠标悬停(鼠标划过) active 链接激活(鼠标按下) visited 访问过后(点击过后)

      8.分组选择器:同时选择多个选择器——使用 ,

    三、继承、层叠与其它特性

      1.继承

      某些样式具有继承性,例如下面的p标签中样式同样适用与span标签,但注意不是所有样式都能继承,例如border:

    p{color:red;}
    
    <p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

      2.权值

    1,内联样式表 的权值为1000;
    2,ID选择器 的权值为100;
    3,Class类选择器,伪类选择器 的权值为10;
    4,HTML标签选择器,伪元素 的权值为1;

      //可以将继承的权值理解为0.1,也就是非常低

      这样,当同一元素遇到不同样式时,就根据权值高低进行加载

      3.层叠

      多个相同权值的样式,按照先后样式加载,后出现的将会覆盖前面出现的。

    四、格式化排版  

      1.文字排版:字体——通过font-family实现

    <style type="text/css">
        body{
            font-family:"微软雅黑";
        }
        
    </style>

      2.文字排版:字号与颜色——通过font-size和color实现

    body{
      font-size:12px;
      color:#666;
    }

      3.文字排版:粗体——通过font-weight实现;斜体——通过font-style实现

    p span{
      font-weight:bold;
    }
    a {
        font-style:italic;    
    }

      4.文字排版:下划线——通过text-decoration实现

    p a{
      text-decoration:underline;
    }

      5.文字排版:删除线——通过text-decoratio实现

    .oldPrice{
      text-decoration:line-through;
    }

      6.段落排版:缩进——通过text-indent实现

        p{
            text-indent:2em;
        }

      7.段落排版:行高——通过line-height实现

    p{
        line-height:2em;
    }

      8.段落排版:文字间距——通过letter-spacing和 word-spacing 实现

    h1{
        letter-spacing:50px;
    }

      9.段落排版:对齐——通过text-align实现(针对块级元素,块级元素下文讲解)

    div{
        text-align:center;
    }

      //当然不止文本,块级元素中的内容包括图片等都是可以居中的

    五、盒子模型

      1.元素分类——块级元素,内联元素(行内元素),内联块级元素

      常见块级元素:

    <div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

      常见行内元素:

    <a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

      常见行内块级元素:

    <img>、<input>

      2.块级元素

    1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)
    
    2、元素的高度、宽度、行高以及顶和底边距都可设置。
    
    3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

      //可以通过display:block将行内元素设置为块级元素

      3.行内元素

    1、和其他元素都在一行上;
    
    2、元素的高度、宽度及顶部和底部边距不可设置;
    
    3、元素的宽度就是它包含的文字或图片的宽度,不可改变。(自己撑开来的)

      //可以通过display:inline将元素设置为行内元素

      4.行内块级元素

    1、和其他元素都在一行上;
    
    2、元素的高度、宽度、行高以及顶和底边距都可设置。

      //可以通过display:inline-block将元素设置为行内块级元素

      5.盒子内外边距

      内边距:padding  外边距:margin

      内外边距都分为4个方向,元素的实际宽高也应当加上边距的 长度

      6.边框——通过border实现

    p{
        border:2px dotted #ccc;
    }

      //可以拆分 border-2px; border-style:solid;border-color:red;

      若要单独设置某一边框,可以使用border-bottom等结合方向实现

    li{
        border-bottom:1px dotted #ccc;
    }

      7.宽度和高度——通过width和height实现

    li{
        border-bottom:1px dotted #ccc;
        200px;
        height:30px;
    }

      8.填充——通过padding实现

      一共4个方向,为顺时针方向!若只写一个,则4个方向相同;只写两个,则为上下 左右两组

      9.边界——通过margin实现

      方向与第8点类同

    #box1{
        margin-bottom:30px;
    }

     六、布局模型

      1.分类——浮动模型(float),流动模型(Flow),层模型(Layer)

      2.流动模型

      块级元素垂直流动,行内元素水平流动

      3.浮动模型

      可以实现块级元素并排显示的效果(之前说过,默认情况下,块级元素独占一行)

    div{
        border:2px red solid;
        200px;
        height:400px;
        float:left;
    }

      4.层模型 

      层模型有三种形式:

        1、绝对定位(position: absolute)

      利用position:absolute;开始绝对定位

    div{
        200px;
        height:200px;
        border:2px red solid;
        position:absolute;
        top:20px;
        right:100px;
        
    }

        2、相对定位(position: relative)

      相对的是原先的位置进行定位

        3、固定定位(position: fixed)

      但是呢,由于此布局方式不够灵活,不被广泛使用!

      【补充】

        颜色设置,推荐使用十六进制:http://www.sioe.cn/yingyong/yanse-rgb-16/

         长度设置:px与百分比

    七、实用小技巧

      1.行内元素水平居中——通过给父元素加text-align:center属性实现

       一般给文本与图片居中可以使用此方式:

    div{
        border:1px solid red;
        margin:20px;
        text-align:center;
    }
    .txtCenter{
        text-align:center;
    }

      2.定宽块级元素居中——通过margin的auto属性

    div{
        border:1px solid red;/*为了显示居中效果明显为 div 设置了边框*/
        
        200px;/*定宽*/
        margin:20px auto;/* margin-left 与 margin-right 设置为 auto */
    }

      3.不定宽块级元素居中——设置display为inline然后使用第1点方式(丢失块级元素特性)

    .container{
        text-align:center;
    }
    /* margin:0;padding:0(消除文本与div边框之间的间隙)*/
    .container ul{
        list-style:none;
        margin:0;
        padding:0;
        display:inline;
    }

      4.父元素高度确定的单行文本——通过设置该元素的height和line-hieght来实现

    .wrap h2{
        margin:0;
        height:100px;
        line-height:100px;
        background:#ccc;
    }
  • 相关阅读:
    2015/8/28 回校正常学习工作
    Asp.net自定义控件开发任我行(3)-Render
    Asp.net自定义控件开发任我行(2)-TagPrefix标签
    Asp.net自定义控件开发任我行(1)-笑傲江湖
    ET采集阿里妈妈淘宝客商品规则
    淘宝API还能用来采集数据吗?taobao.item.get 接口还能用吗?
    淘宝api升级,无法采集淘宝的数据,taobao.item.get 和taobao.taobaoke.items.get都不能用
    用firefox浏览器访问localhost,apache http server 已停止工作
    淘宝客网站怎么批量采集淘宝商品,方维采集淘宝数据思路
    方维购物分享系统怎么样,方维系统安全性检测
  • 原文地址:https://www.cnblogs.com/jiangbei/p/7473936.html
Copyright © 2020-2023  润新知