css入门系列

 CSS入门教程

1,文字属性:

     CSS文字属性
属性            说明
font-family    字体类型
font-size      字体大小
font-weight    字体粗细
font-style     字体斜体
color          颜色

2,段落属性:

        CSS段落属性
属性                    说明
text-decoration  下划线、删除线、顶划线
text-transform   文本大小写
font-varient     将英文文本转换为“小型”大写字母
text-indent      段落首行缩进
text-align       文本水平对齐方式
line-height      行高
letter-spacing   字距
word-spacing     词距

3,图片水平对齐text-align

在“文本水平对齐text-align”这一节我们详细讲解了text-align属性。
大家请记住,text-align一般只用在两个地方:
文本水平对齐和图片水平对齐。
也就是说,text-align只对文本和img标签有效,对其他标签无效。
<head>
    <title>图片水平对齐</title>
    <style type="text/css">
        div
        {
            width:300px;
            height:80px;
            border:1px solid gray;
        }
        .div_img1{text-align:left;}
        .div_img2{text-align:center;}
        .div_img3{text-align:right;}
        img{width:60px;height:60px;}
    </style>
</head>
<body>
    <div class="div_img1">
        <img src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>
    </div>
    <div class="div_img2">
        <img src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>
    </div>
    <div class="div_img3">
        <img src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>
    </div>
</body>
</html>

4,图片垂直对齐vertical-align属性来定义图片的垂直对齐方式。

行级元素设置和块级元素设置该属性是有差别的:

vertical-align属性取值    说明
top                   顶部对齐
middle                中部对齐
baseline              基线对齐
bottom                底部对齐

4.1,在行级元素特性:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>vertical-align属性</title>
    <style type="text/css">
        img{width:80px;height:80px;}
        #img_1{vertical-align:top;}
        #img_2{vertical-align:middle;}
        #img_3{vertical-align:bottom;}
        #img_4{vertical-align:baseline;}
    </style>
</head>
<body>
    绿叶学习网<img id="img_1" src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>绿叶学习网(<strong>top</strong><hr/>
    绿叶学习网<img id="img_2" src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>绿叶学习网(<strong>middle</strong><hr/>
    绿叶学习网<img id="img_3" src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>绿叶学习网(<strong>bottom</strong><hr/>
    绿叶学习网<img id="img_4" src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>绿叶学习网(<strong>baseline</strong></body>
</html>
View Code

4.2,在块级元素中(没有效果)

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>vertical-align属性</title>
    <style type="text/css">
        div
        {
            width:100px;
            height:80px;
            border:1px solid gray;
        }
        .div_img1{vertical-align:top;}
        .div_img2{vertical-align:middle;}
        .div_img3{vertical-align:bottom;}
        img{width:60px;height:60px;}
    </style>
</head>
<body>
    <div class="div_img1">
        <img src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>
    </div>
    <div class="div_img2">
        <img src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>
    </div>
    <div class="div_img3">
        <img src="../App_images/lesson/run_cj/cartoongirl.gif" alt=""/>
    </div>
</body>
</html>
View Code

总结:

图片没有按照预期的进行垂直对齐?啊,
其实大家误解了vertical-align属性了,
vertical-align属性定义是:
vertical-align属性定义行内元素相对于该元素的垂直对齐方式。

5,文档流

正常文档流:块级元素单独占一行,行级元素尽量排一行

正常文档流,将窗体自上而下分成一行一行,块元素独占一行,相邻行内元素在每行中按从左到右地依次排列元素。

块级元素会自动拉长成一行。

行级元素设置width,height无效。

6,浮动float

浮动元素会生成一个块级框,而不论它本身是何种元素。

 

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CSS浮动float属性</title>
    <style type="text/css">
        /*定义父元素样式*/
        #father
        {
            width:400px;
            background-color:#0C6A9D;
            border:1px solid silver;
        }
        /*定义子元素样式*/
        #father div
        {
            padding:10px;
            margin:15px;
            border:2px dashed red;
            background-color:#FCD568;
        }
        /*定义文本样式*/
        #father p
        {
            margin:15px;
            border:2px dashed red;
            background-color:#FCD568;
        }
        #son1
        {
            /*这里设置son1的浮动方式*/
        }
        #son2
        {
            /*这里设置son2的浮动方式*/
        }
        #son3
        {
            /*这里设置son3的浮动方式*/
        }
    </style>
</head>
<body>
    <div id="father">
        <div id="son1">box1</div>
        <div id="son2">box2</div>
        <div id="son3">box3</div>
        <p>这里是浮动框外围的文字,这里是浮动框外围的文字,这里是浮动框外围的文字,这里是浮动框外围的文字,这里是浮动框外围的文字,这里是浮动框外围的文字,</p>
    </div>
</body>
</html>
View Code

 

 

成为浮动元素,原块元素不在占一行,长度而是由其内容决定。

 

6.1,设置一个元素浮动

由于box1设置为左浮动,box1变成了浮动元素,
因此此时box1的宽度不再延伸,
其宽度为容纳内容的最小宽度, 而相邻的下一个div元素(box2)就会紧贴着box1, 这是由于浮动引起的效果。

 6.2,设置2个元素浮动

由于box2变成了浮动元素,
因此box2也跟box1一样,宽度不再延伸,而是由内容确定宽度。
并且相邻的下一个div元素(box3)变成紧贴着浮动的box2。

为什么这个时候box1和box2之间有一定的距离呢?
其实原因是这样的:
我们在CSS中设置了box1、box2和box3都有一定的外边距(margin:15px;),
如果box1为浮动元素,而相邻的box2不是浮动元素,则box2就会紧贴着box1;
但是如果box1和box2同时为浮动元素,外边距就会生效。
这是由于浮动元素的特性决定的。

ps:同为浮动元素边距才会有效。

6.3,设置三个浮动元素

由于box3变成了浮动元素,因此box3跟box2和box1一样,宽度不再延伸,
而是由内容确定宽度,并且相邻的下一个p元素(box3)变成紧贴着浮动的box3。

由于box1、box2和box3都是浮动元素,box1、box2和box3之间的margin属性生效。

6.4,box3浮动方向改变

 

7.清除浮动clear

清除浮动都是在设置左浮动或者右浮动之后的元素内设置。

使用clear属性清除浮动,我们比较少使用“clear:left;”或者“clear:right;”来判断是清除左浮动,还是清除右浮动。
我们往往直截了当地使用“clear:both;”来把所有浮动清除,还省事。
也就是说,我们在这一节只要学会“clear:both;”这一个属性就足够啦。
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>CSS清除浮动</title>
    <style type="text/css">
        /*定义父元素样式*/
        #father
        {
            width:400px;
            background-color:#0C6A9D;
            border:1px solid silver;
        }
        /*定义子元素样式*/
        #father div
        {
            padding:10px;
            margin:15px;
            border:2px dashed red;
            background-color:#FCD568;
        }
        /*定义文本样式*/
        #father p
        {
            margin:15px;
            border:2px dashed red;
            background-color:#FCD568;
        }
        #son1
        {
            /*这里设置son1的浮动方式*/
            float:left;
        }
        #son2
        {
            /*这里设置son2的浮动方式*/
            float:left;
        }
        #son3
        {
            /*这里设置son3的浮动方式*/
            float:right;
        }
    </style>
</head>
<body>
    <div id="father">
        <div id="son1">box1</div>
        <div id="son2">box2</div>
        <div id="son3">box3</div>
        <p>这里是浮动框外围的文字,这里是浮动框外围的文字,这里是浮动框外围的文字,这里是浮动框外围的文字,这里是浮动框外围的文字,这里是浮动框外围的文字,</p>
    </div>
</body>
</html>
View Code

p{clear:both;}

由于p元素清除了浮动,
所以p元素的前一个元素产生的浮动就不会对后续元素产生影响,
因此p元素的文本不会环绕在浮动元素的周围。 除了使用clear属性来清除浮动,还可以采用“overflow:hidden;”来清除浮动

8,定位布局

浮动布局比较灵活,但是不容易控制。定位布局的出现,使得用户精准定位页面中的任意元素成为可能,使得网页布局变得更加随心所欲。
当然由于定位布局缺乏灵活性,也给空间大小和位置不确定的版面布局带来困惑

 

posted @ 2019-07-14 04:01  假程序猿  阅读(180)  评论(0)    收藏  举报