DIV+CSS基础教程笔记

DIV+CSS基础教程笔记缺点:1)显示样式和数据是绑定的在一起2)布局的时候,灵活度不高3)一个页面可能会有大量的元素,代码会冗余4)增加带宽5)搜索引擎不喜欢这样的布局优点:1)理解比较简单2)不同的浏览器看到的效果一般是相同的3)显示数据还是很好的基本思想:数据和样式要分离div元素是用来为HTML文档内大块的内容提供结构和背景的元素。……

一、传统页面table来布局和显示数据:

缺点:1)显示样式和数据是绑定的在一起

           2)布局的时候,灵活度不高

           3)一个页面可能会有大量的<table>元素,代码会冗余

           4)增加带宽

           5)搜索引擎不喜欢这样的布局

优点:1)理解比较简单

           2)不同的浏览器看到的效果一般是相同的

           3)显示数据还是很好的

二、div+css

         基本思想:数据和样式要分离

         div元素是用来为HTML文档内大块的内容提供结构和背景的元素。

         css是用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色。字体加粗等。

         注:div用来存放需要显示的数据/文字/图表等,CSS是用来指定放在div中的内容怎样显示,包括这些内容的位置和外观,从而做到数据和显示相互分离的效果。

三、CSS的样式:

         css 样式由选择符声明组成,而声明又由属性组成,如: 

p{
    font-size:12px;
    color:blue;
}

         其中p为选择符,{ }内为声明;在声明中,font-size为属性,12px为值。

         选择符又称选择器,指明网页中要应用样式规则的元素,如上面的例子将网页中所有的段(p)的文字将变成蓝色,字体大小设置为12px,而其他的元素(如ol)不会受到影响。

         声明在英文大括号“{}”中的的就是声明,属性和值之间用英文冒号“:”分隔。当有多条声明时,中间可以英文分号“;”分隔。

         css中的注释语句:/* 注释语句 */

四、css样式的代码插入形式:

1)内联式

         css样式表就是把css代码直接写在现有的HTML标签中(写在元素的开始标签中,值写在style=“”双引号中,多个样式用分号隔开),如:

         <p style=”color: red; font-size: 12px”> 这里文字是红色。</p>

2)嵌入式

         嵌入式css样式,就是可以把css样式代码写在<style type=”text/css”></style>标签之间,并且一般情况下嵌入式css样式写在<head></head>之间。例如:

<head>
         <meta charset="UTF-8">
         <title>嵌入式css样式</title>
         <style type="text/css">
         span {
                 color:blue;
         }
         </style>
</head>

3)外部式/外联式

         把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在<head>内(不是在<style>标签内)使用<link>标签将css样式文件链接到HTML文件内,如:

<head>
         <meta charset="UTF-8">
         <title>嵌入式css样式</title>
         <link href="style.css" rel="stylesheet" type="text/css" />
</head>

         其中rel=”stylesheet” type=”text/css” 是固定写法不可修改。

4)比较

         以上三种方式的优先级:内联式>嵌入式>外部式

         但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面。即<link href=”style.css” …>代码在<style type=”text/css”>…</style>代码的前面(实际开发中也是这么写的)。

五、选择器

1)标签选择器

         标签选择器其实就是html代码中的标签。如<html>、<body>、<h1>、<p>、<img>等。

2)类选择器

         语法: .类选器名称{css样式代码;}   

         即英文圆点开头,类选择器名称可以任意起名。用法如下:

         第一步:使用合适的标签把要修饰的内容标记起来;

                  <span>类选择器举例</span>

         第二步:使用class=”类选择器名称”为标签设置一个类;

                  <span class=”example”> 类选择器举例 </span>

         第三步:设置类选器css样式;

                  .example{color:red;}  

3)ID选择器

         为标签加上id属性,为标签设置id=“ID名称”,而不是class=“类名称”;

         ID选择符前面是井号(#),而不是英文圆点(.)。

例如:

<head>
         <style type="text/css">
         #stress {
                  color: red;
         }
         </style>

</head>

<body>
         <span id="stress">ID选择器</span>
</body>

4)类选择器和ID选择器的区别

         相同点:可以应用于任何元素

         不同点:

         4.1)ID选择器只能在文档中使用一次(也就是说,不能为两个不同的元素设置同一个ID选择器)。

例如:如下写法是错误的

<p> 
    <span class="stress">id选择1</span>
    <span class="stress">id选择2</span>
</p>

         4.2)可以使用类选择器词列表方法为一个元素同时设置多个样式。

例如:如下写法是正确的

.stress{
    color:red;
}

.bigsize{
    font-size:25px;
}

<p>
    <span class="stress bigsize">词列表</span>
</p>

例如:如下写法是错误的

#stress{
    color:red;
}

#bigsize{
    font-size:25px;
}

<p>
    <span id="stress bigsize">词列表</span>
</p>

5)子选择器

         即大于符号(>),用于选择指定标签元素的第一代子元素。如.food>li{border:1px solid red;},这行代码会使class名为food下的子元素li(水果、蔬菜)加入红色实线边框。

代码如下:

<head>
    <meta charset="UTF-8">
    <title>子选择器</title>
    <style type="text/css">
    /*添加边框样式(粗细为1px, 颜色为红色的实线)*/
    .food>li {
        border: 1px solid red;
    }
    </style>
</head>

<body>
    <ul class="food">
        <li>水果
            <ul>
                <li>香蕉</li>
                <li>苹果</li>
                <li>梨</li>
            </ul>
        </li>
        <li>蔬菜
            <ul>
                <li>白菜</li>
                <li>油菜</li>
                <li>卷心菜</li>
            </ul>
        </li>
    </ul>
</body>

结果:

DIV+CSS基础教程笔记

6)后代选择器

         包含选择器,即加入空格,用于选择指定标签元素下的后辈元素。

         如: .first  span{color:red;}

         子选择器与后代选择器的区别:>作用于元素的第一个后代,空格作用于元素的所有后代。

代码示例:

<head>
    <style type="text/css">
    .food li {
        border: 1px solid red;
    }
    </style>
</head>

<body>
    <ul class="food">
        <li>水果
            <ul>
                <li>香蕉</li>
                <li>苹果</li>
                <li>梨</li>
            </ul>
        </li>
        <li>蔬菜
            <ul>
                <li>白菜</li>
                <li>油菜</li>
                <li>卷心菜</li>
            </ul>
        </li>
    </ul>
</body>

结果:

DIV+CSS基础教程笔记

7)通用选择器

         使用一个星(*)号指定,作用是匹配html中所有标签元素。

         如:* { color: red; }   ——使html中所有标签元素字体颜色全部设置为红色。

8)伪类选择器

         允许给html不存在的标签(标签的某种状态)设置样式,比如给html中一个标签元素的鼠标滑过的状态来设置字体颜色:a: hover { color: red; }

         目前为止,可以兼容所有浏览器的“伪类选择符”就是a标签上使用:hover了(伪类选择符还有很多,但是不能兼容所有的浏览器)

9)分组选择器

         想为html中多个元素标签设置同一个样式时,可以使用分组选择符(,)。

         如:h1, span { color: red;}  ——为h1和span标签同时设置字体颜色为红色

         当然,类选择器、id选择器、后代选择器等都可以使用分组选择符。

         如:.first, #second span{color: green;}

10)选择器的优先级

         选择器的优先级依次是: 内联样式 > id选择器 > 类选择器 > 标签选择器 > 通配符选择器

代码如下:

<head>
    <meta charset="UTF-8">
    <title>css3选择器优先级</title>
    <style type="text/css">
        #di{color:green;}
        .iv{color:blue;}
        div{color:black;}
        * {color:orange;}
    </style>
</head>

<body>
    <div id="di" class="iv" style="color:red;">
        我是一个div
    </div>
</body>

结果:

DIV+CSS基础教程笔记

六、CSS样式的继承

         CSS的某些样式是具有继承性的。继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。

         如某种颜色应用于p标签,这个颜色设置不仅应用p标签,还应用于p标签中的所有子元素文本,这里子元素为span标签。

代码如下:

p{
    color: red;
}

<p>
    css的<span>继承性</span>例子
</p>

结果:

DIV+CSS基础教程笔记——所有字体颜色变红

        但某些css样式时不具备继承性的,如border:1px solid red;

代码如下: 

p{
    color: red;
    border:1px solid red;
}

<p>
    css的<span>继承性</span>例子
</p>

结果:

DIV+CSS基础教程笔记

七、选择器最高层级

        当需要为某些样式设置最高权值,可以使用!important来解决。(!important要写在分号前面)

代码如下:

<style type="text/css">
    p{color:red!important;}
    p.first {color: green;}
</style>

<p class="first">选择器最高级<span>示例示例</span></p>

结果:

DIV+CSS基础教程笔记

八、CSS字体样式

※      字体样式——p { font-family: “宋体”; }

※      字体大小——.stress { font-size: 20px; }

※      字体加粗——a { font-weight: bold; }

※      字体样式——font-style

         .box1 { font-style: normal;}   ——正常字体,也是font-style的默认值

         .box2 { font-style: italic;}     ——斜体,用于字体本身就有倾斜的样式

         .box3 { font-style: oblique;}   ——倾斜的字体,强制将字体倾斜

         结果:

         DIV+CSS基础教程笔记

※      字体颜色——color

         .box1 { color: red;}              ——英文命令颜色

         .box2 { color: rgb(100%,0%,0%);}    ——RGB颜色, R(red)、G(green)、B(blue)

         .box2 { color: rgb(255,0,0);}       ——RGB颜色,有两种写法

         .box3 { color: #FF0000;}          ——十六进制颜色

         结果:

         DIV+CSS基础教程笔记

※      font样式的简写

body{
      font-style:italic;
      font-weight:bold;
      font-size:12px;
      line-height:1.5em;
      font-family:"宋体",sans-serif;
}

         可以缩写为:

body{ font:italic  bold  12px/1.5em  "宋体",sans-serif; }

         注:使用这一简写方式时,至少要指定 font-size 和 font-family 属性,其他的属性(如 font-weight、font-style、font-variant、line-height)如未指定将自动使用默认值。在缩写时 font-size 与 line-height 中间要加入“/”斜扛。

九、CSS文本样式

※      文本装饰——text-decoration

         none:标准的文本,默认值。

         underline:文本下的一条线。

         overline:文本上的一条线。

         line-through:穿过文本下的一条线,一般用于商品折扣价。

代码如下:

<body>
      <p style="text-decoration:none">默认值,标准文本</p>
      <p style="text-decoration:underline">文本下的一条线</p>
      <p style="text-decoration:overline">文本上的一条线</p>
      <p style="text-decoration:line-through">穿过文本的一条线,即删除线</p>
</body>

结果:

DIV+CSS基础教程笔记

※      首行缩进——p {
text-indent:2em;}

         2em的意思就是文字的二倍大小

※      行间距(行高)——p {
line-height:2em;}

※      中文字间隔、字母间隔——h1 {
letter-spacing:20px;}

         英文单词间距——h1 {
word-spacing:20px;}

※      文本对齐方式——text-align

         div {text-align: center;}  ——居中显示

         div {text-align: left;}     ——居左显示

         div {text-align: right;}   ——居右显示

※      段落不显示——p { display: none; }

※      背景色——div { background-color: red; }

十、元素分类

         常用的块状元素有:<div>、<p>、<h1>-<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

         常用的内联元素有:<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

         常用的内联块状元素有:<img>、<input>

         块级元素的特点:每个块级元素都从新的一行开始,并且其后的元素也另起一行;元素的高度、宽度、行高、顶和底边距都可设置;元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

         内联元素的特点:和其他元素都在一行上;元素的高度、宽度、顶部和底部编剧不可设置;元素的宽度就是它保护的文字或图片的宽度,不可改变。

代码如下:

<head>
    <meta charset="UTF-8">
    <title>内联块状元素</title>
    <style type="text/css">
    div, p, a {
        background: pink;
    }
    </style>
</head>
<body>
    <div>div1</div>
    <div>div2</div>
    <p>段落1段落1段落1段落1段落1</p>
    <a>测试1</a>
    <a>测试2</a>
</body>

结果:

DIV+CSS基础教程笔记

         如上代码能看到,块状元素<div>、<p>独占一行,内联元素<a>只占一部分。

         通过设置display: block,可将内联元素a转换为块状元素。

代码如下:

/* 将内联元素a转换为块状元素 */
 a { display: block;}  

结果:

DIV+CSS基础教程笔记

         可以看到,内联元素a变成了块状元素独占了一行。

         通过设置display: inline,可将块状元素div转换成内联元素。

代码如下:

/* 将块状元素div转换成内联元素 */
div { display: inline;}

结果:

DIV+CSS基础教程笔记

         内联块状元素(inline-block)特点:和其他元素都在一行上;元素的高度、宽度、行高、顶和底边距都可设置。

         通过设置display:inline-block;可使内联元素可以设置高和宽。

代码如下:

<head>
    <meta charset="UTF-8">
    <title>内联块状元素</title>
    <style type="text/css">
    a {
        display:inline-block;
        width: 20px;
        /*在默认情况下宽度不起作用*/
        height: 20px;
        /*在默认情况下高度不起作用*/
        background: pink;
        /*设置背景颜色为粉色*/
        text-align: center;
        /*设置文本居中显示*/
    }
    </style>
</head>
<body>
    <a>1</a>
    <a>2</a>
    <a>3</a>
    <a>4</a>
</body>

结果:

         1)宽、高设置不生效前:

DIV+CSS基础教程笔记

         2)宽、高设置生效前:

DIV+CSS基础教程笔记

 十一、CSS盒子模型 

         CSS内定义的宽(width)和高(height),指的是内容的范围。

         一个元素的实际宽度(盒子宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。元素的高度同理。

DIV+CSS基础教程笔记

※      边框——border可设置三个属性:粗细、样式、颜色

div { border: 2px  solid  red;}

         或写为:

div{
      border-width: 2px;    ——边框宽度
      border-style: solid;    ——边框样式:dashed(虚线)、dotted(点线)、solid(实线)
      border-color: red;    ——边框颜色,可设置为十六进制颜色
}

※      边框也可单独设置上、下、左、右四个边的边框

div{
      border-top:1px solid red;        ——上边框
      border-bottom:1px solid red;     ——下边框
      border-left:1px solid red;        ——左边框
      border-right:1px solid red;       ——右边框
}

※      边框可设置圆角效果——border-radius

div {border-radius: 20px 10px 15px 30px;} ——圆角顺序为左上、右上、右下、左下

         也可以分开写为:

div{
    border-top-left-radius: 20px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 30px;
}

         如果四个圆角效果相同,可以合并写为:

div { border-radius:10px;}

         如果左上和右下效果相同,右上和左下效果相同,可以合并写为:

div{ border-radius:10px 20px;}

         当一个正方形,设置圆角效果为元素宽度一半的时候显示效果为圆形。

div {
        width: 200px;
        height: 200px;
        border: 5px solid red;
        border-radius: 100px;  ——或写为百分比50%
}

※      内边距——padding可用来设置元素内容和边框之间的距离,分上、右、下、左(顺时针)

div { padding: 20px 10px 15px 30px;}

         也可以分开写为:

div{
   padding-top:20px;
   padding-right:10px;
   padding-bottom:15px;
   padding-left:30px;
}

         当上、右、下、左填充效果一样时,可合并为:

div { padding:10px; }

         当上和下、左和右填充效果一样时,可合并为:

div { padding:10px 20px;}

※      外边距——margin可用来设置元素和其他元素之间的距离,分上、右、下、左(顺时针)

div {margin: 20px 10px 15px 30px;}

         也可以分开写为:

div{
       margin-top:20px;
       margin-right:10px;
       margin-bottom:15px;
       margin-left:30px;
}

         当上、右、下、左边界一样时,可合并为:

div { margin:10px;}

         当上和下、左和右边界一样时,可合并为:

div { margin:10px 20px;}

※      padding和margin的区别:padding在边框里,margin在边框外

十二、CSS布局模型

         元素有三种布局模型:流动模型(Flow)、浮动模型 (Float)、层模型(Layer)

         流动模型(Flow)是默认的网页布局模式,具有2个比较典型的特征:

         1)块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。

         2)内联元素都会在所处的包含元素内从左到右水平分布显示。

         浮动模型 (Float)可以让两个块状元素并排显示。

代码如下:

div{
    width:200px;
    height:200px;
    border:2px red solid;
    float:left;
}
<div id="div1">栏目1</div>
<div id="div2">栏目2</div>

结果:

DIV+CSS基础教程笔记

           也可以设置一左一右显示,代码如下:

div{
    width:200px;
    height:200px;
    border:2px red solid;
}
#div1{float:left;}
#div2{float:right;}

结果:

DIV+CSS基础教程笔记

         层模型(Layer)有三种形式:

 1)绝对定位(position: absolute)

         position: absolute;——表示绝对定位

         这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。

代码如下:

/*  示例:设置div标签相对于浏览器,(相对于以前位置右上角)向左移动100px,向下移动20px */
div {
        width: 200px;
        height: 200px;
        border: 2px red solid;
        position: absolute;
        right:100px;
        top:20px;
    }
<div id="div1"></div>

结果:

DIV+CSS基础教程笔记

2)相对定位(position: relative)

         position: relative;  ——表示相对定位。、

         它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。

代码如下:

/* 示例:为div设置相对定位,(相对于以前位置左上角)向右移动100象素,向下移动50象素。 */
#div1 {
        width: 200px;
        height: 200px;
        border: 2px red solid;
        position: relative;
        left:100px;
        top:50px;
}
<div id="div1"></div><span>偏移前的位置还保留不动,覆盖不了前面的div没有偏移前的位置,所以后面的span元素是显示在了div元素以前位置的后面。</span>

结果:

DIV+CSS基础教程笔记

3)固定定位(position: fixed)

         position: fixed; ——表示固定定位

         与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化。

代码如下:

#div1 {
        width: 200px;
        height: 200px;
        border: 2px red solid;
        position:fixed;
        left:100px;
        top:50px;
}
<div id="div1"></div>

结果:——拖动滚动条位置不变

DIV+CSS基础教程笔记

4) Relative与Absolute组合使用

         使用position: absolute;可以实现被设置元素相对于浏览器(body)设置定位,也可以使用如下写法实现相对于其他元素定位。

<div id="box1"><!--参照定位的元素-->
    <div id="box2">相对参照元素进行定位</div><!--相对定位元素-->
</div>

代码如下:

#box1 {
        width: 200px;
        height: 200px;
        position: relative;
    }
#box2 {
        position: absolute;
        top: 20px;
        left: 30px;
}
<div id="box1">
        <div id="box2">相对参照元素进行定位</div>
</div>

结果:

DIV+CSS基础教程笔记

十三、flex弹性盒模型

         设置display: flex属性可以把块级元素在一排显示。flex需要添加在父元素上,改变子元素的排列顺序。默认为从左往右依次排列,且和父元素左边没有间隙。

代码如下:

<style type="text/css">
.box {
        background: blue;
        display: flex;
}
.box div {
        width: 100px;
        height: 100px;
    }
.box1 { background: red;}
.box2 { background: orange;}
.box3 { background: green;}
</style>
<div class="box">
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>
</div>

结果:

DIV+CSS基础教程笔记

1)justify-content属性设置横轴排列方式

justify-content属性的值:

         flex-start:左对齐

         flex-end:右对齐

         center:居中

         space-between:两端对齐,项目之间间隔相等

         space-around:每个项目两侧的间隔相等

代码如下:

.box {
        background: blue;
        display: flex;
        justify-content: space-around;
}

结果:

DIV+CSS基础教程笔记

2)align-items属性设置纵轴排列方式

align-items属性的值:

         flex-start:默认值,竖轴左上对齐

         flex-end:竖轴左下对齐

         center:竖轴中间对齐

         baseline:项目的第一行文字的基线对齐

         stretch:如果项目未设置高度或设为auto,将占满整个容器的高度。

代码如下:

.box {
        height: 700px;
        background: blue;
        display: flex;
        align-items: baseline;
}

结果:

DIV+CSS基础教程笔记

3)给子元素设置flex占比

         flex属性的值只能是正整数,表示占比多少。给子元素设置flex之后,其宽度属性会失效。

代码如下:

.box {
        height: 300px;
        background: blue;
        display: flex;
    }
.box div {
        width: 200px;
        height: 200px;
    }
.box1 {
        flex: 1;
        background: red;
    }
.box2 {
        flex: 3;
        background: orange;
    }
.box3 {
        flex: 2;
        background: green;
    }
<div class="box">
        <div class="box1">flex:1</div>
        <div class="box2">flex:3</div>
        <div class="box3">flex:2</div>
</div>

结果:

DIV+CSS基础教程笔记

今天的文章DIV+CSS基础教程笔记分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/24495.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注