美文网首页
CSS入门学习

CSS入门学习

作者: jacob_ | 来源:发表于2019-07-13 19:09 被阅读0次

    1 引言

    • CSS指层叠样式表(Cascading Style Sheets),样式定义了如何显示HTML元素,而样式通常存储在外部样式表中,而外部样式表通常存储在CSS文件中。
    • 因此我们要学习的就很显然了,首先是CSS的基础内容,其次如何将其保存为外部样式表,最后在HTML代码中引用。

    2 CSS基础内容

    2.1 CSS规则

    • CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:
      image.png
      选择器通常是您需要改变样式的 HTML 元素。例如p或者h1,或者使用相应的ID选择器或者类选择器。
      例子:
    p       
    {        
    text-align:center;       
    /*这是另一个注释*/        
    color:black;        
    font-family:arial;       
    }
    

    2.2 ID选择器与类选择器

    • ID选择器
      当使用上面的p进行改变样式时,会影响整个HTML页面的p元素。但如果只想改变某一个元素时,应当使用ID选择器。
      用法:ID选择器以关键字 # 作为标识;
      下面的例子将作用于id = 'jacob'
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8"> 
    <style>
    #jacob
    {
        text-align:center;
        color:red;
    } 
    </style>
    </head>
    
    <body>
    <p id="jacob">Hello World!!!</p>
    <p>This paragraph is not affected by the style.</p>
    </body>
    </html>
    

    另需要注意的是,<style></style>标签放在head标签中。

    • Class选择器
      用于描述某一类元素的样式,与ID选择器的区别在于其可以选择某一组元素。
      用法:以关键字 . 作为标识;
    <html>
    <head>
    <meta charset="utf-8"> 
    <style>
    .center
    {
        text-align:center;
    }
    </style>
    </head>
    
    <body>
    <h1 class="center">标题居中</h1>
    <p class="center">段落居中。</p> 
    </body>
    </html>
    

    此外,还可以指定特定元素的类选择器。

    <html>
    <head>
    <meta charset="utf-8"> 
    <title>W3Cschool教程(w3cschool.cn)</title> 
    <style>
    p.center
    {
        text-align:center;
    }
    </style>
    </head>
    
    <body>
    <h1 class="center">This heading will not be affected</h1>
    <p class="center">This paragraph will be center-aligned.</p> 
    </body>
    </html>
    

    2.3 样式表

    插入样式表的三种方式

    1. 外部样式表
      当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用 标签链接到样式表。 标签在(文档的)头部
    <head> <link rel="stylesheet" type="text/css" href="mystyle.css"> </head>
    

    浏览器会从文件 mystyle.css 中读到样式声明,并根据它来格式文档。
    下面是一个样式表文件的例子:

    hr {color:sienna;}           
    p {margin-left:20px;}            
    body {background-image:url(/images/back40.gif);}   
    
    1. 内部样式表
      当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用 <style> 标签在文档头部定义内部样式表,就像这样:
    <head>
    <style>
    hr {color:sienna;}
    p {margin-left:20px;}
    body {background-image:url("images/back40.gif");}
    </style>
    </head>
    
    1. 内联样式
    <p style="color:sienna;margin-left:20px">这是一个段落。</p>
    
    • 此外需要注意的是:
      如果外部样式表、内部样式表同时对某个元素进行了样式定义,那么需要注意这里有一个继承与覆盖的过程。
      一个例子如下:
      外部样式表
    h3            
    {            
    color:red;            
    text-align:left;            
    font-size:8pt;            
    }    
    

    内部样式表

    h3            
    {            
    text-align:right;            
    font-size:20pt;            
    }    
    

    那么得到的结果是:

    color:red; text-align:right;           
    font-size:20pt;   
    

    需要注意的是
    !important 关键字会覆盖所有,就比如在外部样式表中使用!important,其不会被内部样式表与内联样式覆盖。
    权重计算方式

    image.png
    一个简单的例子如下:
    <html>    
    <head>    
    <style type="text/css">    
    #redP p {    
    /* 权值 = 100+1=101 */    
    color:#F00;  /* 红色 */    
    }    
    #redP .red em {    
    /* 权值 = 100+10+1=111 */    
    color:#00F; /* 蓝色 */    
    }    
    #redP p span em {    
    /* 权值 = 100+1+1+1=103 */    
    color:#FF0;/*黄色*/    
    }    
    </style>    
    </head>    
    <body>    
    <div id="redP">   
    <p class="red">red   
    <span><em>em red</em></span>    
    </p>    
    <p>red</p>    
    </div>    
    </body>   
    </html>
    

    根据权重的计算结果,em显示为蓝色。

    2.4 背景

    CSS 属性定义背景效果:

    • background-color
    • background-image
    • background-repeat
    • background-attachment
    • background-position
    1. background-color 属性定义了元素的背景颜色。
    <style>
    body
    {
        background-color:#b0c4de;
    }
    </style>
    

    整个页面的颜色会变成蓝色。

    <style>
    h1
    {
        background-color:#6495ed;
    }
    p
    {
        background-color:#e0ffff;
    }
    div
    {
        background-color:#b0c4de;
    }
    </style>
    

    对应的元素背景改变。

    1. background-image 属性描述了元素的背景图像.
    <style>
    body 
    {
        background-image:url('https://7n.w3cschool.cn/attachments/knowledge/201611/31824.png');
        background-color:#cccccc;
    }
    </style>
    

    该方法会使得背景图片在整个元素内平铺,若想改变平铺方式则可以利用以下几个方法。

    body 
    { 
    background-image:url('gradient2.png'); 
    //仅在x方向平铺
    background-repeat:repeat-x; 
    }
    
    body 
    { 
    background-image:url('img_tree.png'); 
    //不平铺
    background-repeat:no-repeat; 
    }
    

    可以利用 background-position 属性改变图像在背景中的位置:

    body 
    { 
    background-image:url('img_tree.png'); 
    background-repeat:no-repeat; 
    background-position:right top; 
    }
    
    body        
      {        
       background-image:url('img_tree.png');        
       background-repeat:no-repeat;        
    //水平66%处,吹制33%处
      background-position:66% 33%;        
    }
    
    body       
      {       
       background-image:url('img_tree.png');        
       background-repeat:no-repeat;        
    //相对于左上角的偏移量。
      background-position:50px 100px;        
      }
    

    2.5 文本

    • Text Color
    <style>
    body {color:red;}
    h1 {color:#00ff00;}
    p.ex {color:rgb(0,0,255);}
    </style>
    
    • 文本的对齐方式
    <html>
    <head>
    <meta charset="utf-8"> 
    <title>W3Cschool教程(w3cschool.cn)</title> 
    <style>
    h1{text-align:center}
    p.date{text-align:right}
    p.main{text-align:justify}
    </style>
    </head>
    
    <body>
    <h1>CSS text-align 实例</h1>
    <p class="date">2015 年 3 月 14 号</p>
    <p class="main">“当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个世界。”</p>
    <p><b>注意:</b> 重置浏览器窗口大小查看 "justify" 是如何工作的。</p>
    </body>
    
    </html>
    
    image.png

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

    • 文本修饰
    <style>
    h1 {text-decoration:overline;}
    h2 {text-decoration:line-through;}
    h3 {text-decoration:underline;}
    </style>
    
    文本修饰
    • 文本转换
    <style>
    //转换为大写
    p.uppercase {text-transform:uppercase;}
    //转换为小写
    p.lowercase {text-transform:lowercase;}
    //首字母大写
    p.capitalize {text-transform:capitalize;}
    </style>
    
    • 文本缩进
    p {text-indent:50px;}
    
    • 文本间隔
      改变字之间的间隔距离
    p 
    { 
    word-spacing:30px; 
    }
    

    2.6 字体

    相关文章

      网友评论

          本文标题:CSS入门学习

          本文链接:https://www.haomeiwen.com/subject/pvrbhctx.html