美文网首页
CSS基础学习

CSS基础学习

作者: whisper330 | 来源:发表于2019-11-25 18:00 被阅读0次

    前言

    最近几天学习了前端的基础知识,并在讲师和小组成员的帮助下做了一个小网页。在这里想以一个初学者的角度记录一下我的理解以及思考。

    Html基本结构

    首先要说明的是,这篇文章主要讲的是CSS层叠样式表(Cascading Style Sheets),它是一种Html元素的属性。
    所以先讲一下Html的基本结构,以及它和CSS的关系。

    <!DOCTYPE html>  html版本标识符 
    <html>
      <head>
         <metadata elements>
      </head>
      <body>
         <div>
            contents
         </div>
      </body>
    </html>
    

    上面表示了html的基本组成模块,html里面包括head和body两个子元素
    head里面放的是对网页的描述,实际不显示。比如linkmetatitlestyle都应该放入head标签。body里面放的是网页实际的内容,比如h1标题,p段落等等。

    可以把网页设计想象成一个电子黑板报,我们在向里面添加内容的时候需要设定内容的格式,比如段落需要设置段落的位置,字体种类,字体大小,字体颜色等等。这个格式的限定方法就是接下来要讲的CSS层叠样式表。

    CSS层叠样式表

    1.设置方法

    CSS的设置方法有四种,按优先级的排列依次为 important>内联>id>class。下面以给h2(二级标题)的颜色设置粉色为例来解释一下各种设置方法。

    • important:在属性后面加important,设置强属性。
    pink-text {
      color: pink !important;
    }
    
    • 内联样式:直接在内容后面添加需要的属性(为方便以后的调试和代码的简洁性,最好不要采用这种方式)
    <h2 style="color: pink;"></h2>
    
    • id编号属性:id具有唯一性,一个界面最好把特殊且唯一的部分设置成id模式,比如form表单的内容。
    #pink-text {
      color: pink
    }
    <div id="pink-text">
         <h2></h2>
    </div>
    
    • class类属性:比较广泛的属性方式,描述了不同元素的相同属性。
    .pink-text {
      color: pink
    }
    <div class="pink-text">
         <h2></h2>
    </div>
    

    class类可以重叠使用,也就是说一个<div>块里面可以设置多个class类,语句为 class="class1 class2 ...",当多个类出现冲突的时候,以<style>里面最后一个为基准,而不是以class="class1 class2"的顺序为基准。

    举个例子,如下图所示,在style里面pink排在black属性的后面,所以文字最后显示的是pink。你可以把它想象成一个后面把前面覆盖的过程。


    那如果在不改变style顺序的情况下,我要把字体的颜色改成black怎么办。这个时候important就派上用场了,你可以在black的颜色属性后面加一个!important就可以了,有兴趣的可以自己试一试~很有意思。

    tips:还有一个冲突的情况:类选择器和元素选择器冲突,类选择器优先

    <head>
      <style>
        .special {
          color: red;
        }
        p {
          color: blue;
        }
      </style>
    </head>
    <body>
       <p class="special">What color am I?</p>
    </body>
    

    这个时候字体就会是红色的。如果要变成蓝色的,加一个!important就好啦。

    2.具体样式

    • 更改字体的颜色:<h2 style="color: red;">
    • 更改元素的字体大小: h1{font-size:30px}
    • 设置字体样式:h2{font-family:sans-serif}
    • 引入谷歌字体
      网络上有各种各样的字体,以Google字体库为例
      <link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
    • 字体如何优雅降级: 当使用外部字体的时候,为了避免有时候加载失败的情况,我们最好设置一个备用默认字体。所有浏览器都有几种默认字体。这些通用字体包括monospace,serif和sans-serif。
      h2 {font-family: Lobster,monospace;}
    • 在元素周围添加边框: CSS 边框具stylecolorwidth属性。
      .thick-green-border{
      border-color:green;
      border-width:10px;
      border-style:solid; 实线
      border-radius: 10%; 设置圆角边框
      }
    • 调整元素的内边距:每个 HTML 元素周围的矩形空间由三个重要的属性来控制:padding(内边距),margin(外边距)和border(边框)。具体位置如下图所示,是标准的盒子模型

    .thick-green-border{
    padding: 10px;
    border: 10%;
    margin-top: -10px;
    }
    可以设置成固定像素格式,也可以设置成百分比模式,大小随父元素的变化而变化。注意,margin可以设置成负值,margin-top设置为负值代表向上移动。

    • 自定义CSS变量
      .penguin {
      --penguin-skin: gray;

      .penguin-top {
      background: var(--penguin-skin);

    更多CSS样式请参考https://www.w3school.com.cn/css/index.asp

    相关文章

      网友评论

          本文标题:CSS基础学习

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