zoukankan      html  css  js  c++  java
  • CSS基础学习笔记

    一、导入样式表:

    当想要将样式运用到整个网站而不是单张页面时,管理样式的更好的方法是将它们从网页中分离出来,放到称作样式表的独立文件中,以便在需要时导入。

    (1).使用CSS的@immport指令导入样式表:

    <style>
        @import url(;styles.css');
    </style>

    (2).从HTML内部导入样式表:

    <link rel='stylesheet' type='text/css' href='styles.cdd' />

    (3).嵌入样式:

    <div style='font-style:italic; color:blue;'> Hello there</div>

    二、CSS规则:

    CSS规则是指一条或一系列语句,用以告诉网页浏览器怎样在页面上渲染某个或某些元素。CSS规则中的每条语句以选择器开始,指定施加规则的元素。规则中所有要修改的属性必须在选择器后面的"{"和"}"内出现。

    例如,要将一号标题改为红色并放大24%:

    h1 { font-size:240%; color:red; }

    三、CSS选择器

    用于在页面上访问一个或多个元素的方法称为选择,在CSS规则中的这一部分被称为选择器。

    (1) 类型选择器:类型选择器为HTML元素指定 类型,像<p>、<div>等:

    p { text-align:justify; }

    (2) 后代选择器:允许将样式施加在那些包含在其他元素的元素之上:

    p b { color:red; }

    (3) 子选择器:与后代选择器类似,但具有更具有强制性,仅选择那些作为其他元素的直接子元素:

    p > b { color:red; }

    (4) 相邻选择器:对应于同一级上前后相邻的元素,在它们之间不存在别的元素,但可以有文本:

    i + b { color:red; }

    (5) id选择器:如果给元素设置一个id(例如,id='mydiv'),就可以使用id直接从CSS访问它:

    #mydiv { font-style:italic; }

    (6) 类选择器:当在一个页面中有许多元素要使用相同样式时,可以赋予它们相同的类名(例如,class='myclass'),然后创建一个规则来一次性改变所有这些元素:

    .myclass { margin-left:10px; }

    此外,还可以通过明确元素类型的方式来缩小类的范围。例如,创建仅对使用main类的段落起作用的规则:

    p.main { text-indent:30px; }

    (7) 属性选择器:许多HTML标记支持属性,使用这种选择器可以避免使用ID和类引用属性。例如,将属性为type="submit"的所有元素设置为100像素:

    [ type="submit" ] { width:100px; }

    注:由'#'和'.'开头的id选择器和类选择器,可以视为属性选择器的简写,不过它们拥有更高的优先级。

    (8) 通用选择器:“*”通配符或通用选择器可以匹配任何元素,“*”不会自身发挥作用,但是当它作为一条复合规则的一部分时却十分强大。例如,下面的语句只对所有段落中ID为boxout的元素的非直接子元素起作用:

    #boxout * p { border:1px solid green; }

     (9) 分组选择:CSS可以同时将一个规则施加于用逗号分隔的多个元素、类或其他类型的选择器上:

    p, #idname, .classname { border-bottom:1px dotted orange }

    四、<div>和<span>的区别

    <div>和<span>都是容器类型,不过有一些不同的性质。默认情况下,<div>元素具有无限的宽度,而<span>元素只有它所包含的文本的宽度。 

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>Hello World!</title>
        <style type="text/css">
            span {border: 1px solid black;}
            div { background-color:  yellow; }
            span {background-color: cyan;}
        </style>
    </head>
    <body>
    <!-- <a href="http://www.example.com">点击这里</a> -->
    <div>This text is within  a tag</div>
    This isn't.<div>And this is again.</div>
    <br />
    
    <span>This text is inside a span tag.</span>
    This isn't.<span>And this is again.</span>
    <br />
    
    <div>This is a larger amount of text in a that wraps around to the next line of the browser</div>
    <br />
    
    <span>This is a larger amount of text in a that wraps around to the next line of the browser</span>
    </body>
    
    </body>
    </html>
    View Code

    上面代码在浏览器中显示结果如下:

    五、CSS度量单位:

    CSS支持很多的度量单位,能够准确的使网页达到特定值或相关尺寸。

    单位名称说明例子
    Piexels(像素) 一个像素的大小根据用户显示器尺寸和像素密度不同而设定 .classname { margin:5px; }
    Points(磅) 一英镑等于一英寸的1/72,来源于印刷背景设计。 .classname { margin:5pt; }
    Inches(英寸) 1英寸相当于72英镑 .classname { margin:5in; }
    Centimeters(厘米) 1厘米比28英镑稍大一些 .classname { margin:5cm; }
    Millimeters(毫米) 1毫米等于1/10厘米(约为3磅) .classname { margin:5mm; }
    Picas Picas是另一种印刷度量单位,等于12磅 .classname { margin:5pc; }
    Ems 一个em等于当前字体的大小,用于描述相对尺寸 .classname { margin:5em; }
    Exs 也与当前字体大小有关,等于小写字母x的高度,不常用 .classname { margin:5ex; }
    Percent(百分比) 这个单位与em相关,它是相对单位 .classname { margin:125%; }

     

    六、CSS字体和排版:

    可以用CSS设置的四种主要的字体属性:family(字体族)、style(样式)、size(大小)和weight(粗细)。

    1.字体族:指定要使用的字体

    p { font-family:Verdana, Arial, Helvetica, ans-serif, "Times New Roman"; }

    注:在网页上使用最安全的字体是:Arial、Helvetica、Times New Roman、Times、Courier New和Courier,因为几乎所有浏览器和操作系统都支持它们。

    2.字体样式:通过这个属性,可以选择正常(normal)、斜体(italic)和倾斜(oblique)(一种类似斜体的效果,通常用于sans-serif字体)显示字体。

    .normal { font-style:normal; }
    .italic { font-style:italic; }
    oblique {font-style:oblique; }

    3.字体大小:利用前面的度量单位,可以设置字体的固定大小或相对尺寸

    p { font-size:14pt; }
    h3 { font-size:240%; }

    4.字体粗细:制定字体的粗细,一般使用的主要是normal和bold这两个值

    .bold { font-weight:bold; }

     此外,还可以通过改变文本的修饰、间距和对齐方式等来进一步修改文本的显示样式。

    1.文本修饰:通过 text-decoration (文本修饰)属性,可以为文本设置下划线、删除线、上划线、闪烁等效果。

    2.设置间距:通过 line-height (行高)属性改变行距、word-spacing(字间距)和 letter-spacing(字符间距)属性改变单词和字符间的距离。

    3.对齐方式:通过使用 text-align 属性可设置文本的对齐方式,CSS可用的文本对齐方式有四种:左对齐(left)、右对齐(right)、居中(center)和两端对齐(justify)。

    4.文本转换:通过使用 text-transform 属性进行文本转换,有四种属性来转换文本:无、首写字母大写、大写和小写。

    5.文本缩进:通过使用 text-indent 属性可以将一段文本的首行缩进给定的大小。

    七、CSS颜色

     使用color和backgrounnd-color属性可以为文本和对象设置前景色和背景色。可以用颜色的名称、十六进制的RGB三原色和CSS的rgb函数设置颜色。

    1.使用颜色名称:W3C标准化组织定义的标准的16中颜色的名称分别是:aqua(水蓝)、black(黑)、blue(蓝)、fuchsia(紫红)、gray(灰)、green(绿)、lime(绿黄)、maroon(酱紫)、navy(深蓝)、olive(橄榄绿)、ourple(紫)、red(红)、silver(银)、teal(青)、white(白)、和yellow(黄)

    2.使用十六进制RGB:#ff0000、#00ff00、#0000ff等

    3.使用rgb函数:rgb(0,255,255)

    八、元素定位

    网页中的元素落在它们在文档中的位置,但是可以通过改变元素的位置属性从静态的默认位置进行绝对、相对移动或定位。

    1.绝对定位:可以通过top、right、bottom和left属性把元素定位到文档的任何位置。

    #object {
        position:absolute;
        top:100px;
        left:200px;
    }

    2.相对定位:相对于对象在文档中原来的位置来移动对象。

    #object {
        position:relative;
        top:10px;
        left:10px;
    }

    3.固定定位:将对象移动到一个绝对位置上,当文档滚动时,该对象仍会保持在它原始的位置上,而主文档在它下面滚动。

    #object{
        position:fixed;
        top:0px;
        left:0px;
    }

    九、CSS伪类

    有一些选择器和和类只能用在样式表中,在HTML中没有对应的标记或属性。它们的任务时使用除名称、属性或内容以外 的其他特征来对元素进行分类。伪类使用一个冒号":"与元素分离,常用的伪类像:first-line、first-child、first-letter、link、hover、active、visited等。

    .bigfirst:first-letter{
        font-size:400%;
        float:left; }
    
    a:link {color:blue; }
    a:visited { color:linghtblue; }

    另一个有趣的动态伪类时focus,只有当用户通过键盘或鼠标时某个元素获得焦点时它才起作用。

    *:focus { backgroup-color:blue; }

    伪元素是一种将内容而不是样式添加到元素的方法,同样在元素后面加冒号":"并附带一个伪元素就可以使用了。

    例如,在offer元素前放置一些脚本或在链接后放置一张图片:

    .offer:before { content='Special Offer!'; }
    a:after { url(link.gif;) }

    十、盒模型和布局

    影响网页布局的CSS书信那个是以盒子模型为基础的,它是一个围绕元素的嵌套属性集。一个盒模型从对象的最外层到内层依次为:外边距、边框、内边距和对象的内容。

    1.设置外边距:

    外边距是盒模型的最外层,它将元素彼此分开。为了克服边距累加的问题,当两个带边框的元素彼此上下放置时,只有二者中外边距较大的用于将它们隔开,边距一样则只使用一个。但是绝对布局和内联元素的外边距不会压缩。

    元素的边距可以使用margin属性来一同修改,也可以用margin-left、margin-top、margin-right和margin-bottom单独设置,若使用margin来设置,可以使用一个、两个、三个或四个参数:

    /* 将所有边距设置为1个像素 */
    margin:1px;
    /* 将顶部和底部设置为1个像素,左右设置为2个像素 */
    margin:1px 2px;
    /* 将顶部设置为1个像素,左右设置为2个像素,底部设置为3个像素 */
    margin:1px 2px 3px;
    /* 将顶部设置为1个像素,右侧设置为2个像素,底部设置为3个像素,左侧设置为4个像素 */
    margin:1px 2px 3px 4px;

     2.应用边框:

    除了不能压缩外,边框和外边距类似。用于修改边框的属性主要有border、border-left、border-top、border-right和border-bottom,每个属性又添加了子后缀的子属性,如:-color,-style,-width等。

    用于设置外边距属性的独立属性的四种方式同样适用于border-width属性:

    /* 所有边框 */
    border-1px;
    /* 上下 左右 */
    border-1px 2px;
    /* 上 左右 下 */
    border-1px 2px 3px;
    /* 上 下 左 右 */
    border-1px 2px 3px 4px;

    3.内边距(补白):

    用于修改内边距的属性主要有:padding、padding-left、padding-top、padding-right和padding-bottom,同样的,用于设置外边距属性的独立属性的四种方式同样适用于padding属性。

    /* 所有边框 */
    padding:1px;
    /* 上下 左右 */
    padding:1px 2px;
    /* 上 左右 下 */
    padding:1px 2px 3px;
    /* 上 下 左 右 */
    padding:1px 2px 3px 4px;

    十一、CSS背景设置:

    属性说明
    background-color 定义元素的背景颜色
    background-image 定义元素的背景图像
    background-repeat 定义背景图像的平铺方式[水平(repeat-x)、垂直(repeat-y)、不平铺(no-repeat)]
    background-position 定义背景图像的起始位置
    background-attachment 是否固定背景图像[背景图片随页面的其余部分滚动(scroll)、固定背景图像(fixed)、从父元素继承(inherit)]
  • 相关阅读:
    iOS开发第三方库一 IQKeyboardManager
    跟着百度学PHP[14]-初识PDO数据库抽象层
    文件上传漏洞的一些总结
    逻辑漏洞挖掘入门之 简单的任意账户密码重置
    突破MIME限制上传
    关于Safe DOG的文件上传bypass
    跟着百度学PHP[13]-文件上传
    PHP flock() 函数 php中的文件锁定机制
    mysql变量
    一份不错的php面试题(附答案)(笔试题)
  • 原文地址:https://www.cnblogs.com/jxc321/p/8544305.html
Copyright © 2011-2022 走看看