zoukankan      html  css  js  c++  java
  • 用css进行布局

         用css进行布局

    一,开始布局的注意事项

    1、作为最佳实践,应把html(内容)和css(显示)分离

    2、网站设计主要有两大类型:固定宽度(基于像素)和响应式(也称流式,使用百分数定义)

    二,构建页面

    !!高效网页的核心是结构良好,语义化的HTML。

    1、恰当的使用article、aside、nav、section、header、footer、和div等元素将页面分成不同的逻辑块,并对他们使用ARIR地标角色。如以下代码:

                       <article class="about">
                            <h2>..</h2>
                            <img src=".." width="n" height="m" src="..">
                            <p>..</p>
                        </article>
    
                        <div class="..">
                            <h2>..</h2>
                            <img src=".." width="n" height="m" src="..">
                        </div>
    
                        <aside class="mod">
                            <h2>...</h2>
                            <ul class="links">
                                <a href="..">..</a><br/>
                                <a href="..">..</a>
                            </ul>
                        </aside>

    (其中的...根据自己的需要进行填写)

    三,在旧版浏览器中为html5元素添加样式

    将以下代码添加到网页的主样式表文件(所有页面都用到的样式表文件)

    article,aside,figcaption,figure,footer,header,main,nav,section{
    display:block;
    }

    2,在每个页面的head元素添加以下代码:

    <!--if it IE9-->
    <script scr="http://html5shiv.googlecode.com/svn/trunk/html5.js">

    四,对默认样式进行重置或标准化

    1、css重置可以有效的将所有默认样式都设置为”0“

    五,盒模型

    1、定义:css进行处理是,它认为每个元素都包含在一个不可见的盒子里。

    2,盒子构成:内容区域,内容区域周围的空间(内边距,padding),内边距的外边缘(边框,border),边框外面将元素与相邻元素隔开的不可见区域。

    六,控制元素的显示类型和可视性

    1、h1~h6、p等元素为块级元素(display:block;),em,strong,cite等为行内元素(display:inline;)。本质区别是他们的display属性。css可以改变默认的属性值,如p{display:line;}或者em{display:block;}

    2,设置为inline的元素会忽略任何width,height,margin-top和margin-bottom设置。inline-block元素可以使用这些属性。

    3,display:XX;用于指定元素的显示方式;XX:block(块);inline(行内);inline-block(显示行内元素,但是具有块级元素的特征,可以为四条边设置:width,heigth,margin,padding等属性);display:inline;中元素可接受padding的设置,但是padding-top和padding-bottom会越界进入相邻元素空间。

        !!

    4,控制元素可见性,如

    em{
           visibility:hidden;
    }

    将元素隐藏。

    七,设置元素的宽高

    1、可以为很多元素设置宽高,如:分块内容、段落、列表项、div、图像、video、表单元素等。

    如以下代码:

    main{
          width:600px;
    }
    .sidebar{
            300px;
    }

    2、设置宽高:width:w; height:h;   (w 和 h ,只表示长度,单位如px,em等 或者使用auto让浏览器计算高度)

        (width和heigth不是继承的

    3、宽度,外边距和auto

    .secend{
              border:3px soild royalblue;
              margin:10px;
              padding:8px;
    }

    八,在元素周围添加内边距

    1、如果不设置内边距(左),内容就会贴在边框上。添加后内容的外围就会有一些空白。

    .about{
               padding: .3125em .625em  .625em
    }

    2、在元素周围添加边距的方法  padding:X;   x为要添加的空间量,带单位(px或em)的长度,或者父元素宽度的百分比

    九,设置边框

    1、例如

    .about img{
                 border:5px soild #bebebe
    
    }

    十,设置元素周围的外边距

       margin:x;   (-top ; -right; -bottom; -left)(x为带单位的数值)

    margin-left: 10px;
    .page{
             margin:0 auto;
    }<!--让网页的内容水平居中-->

    auto的值一来于width的值。

    !!margin和padding,border的用法类似。

    十一,使元素浮动,控制元素浮动的位置,

    1、float:dir;  (dir:left or right or none)

    2、清除浮动:clear:X;(X:left,right,both,none)(清除浮动很重要)

    3、创建自清除浮动元素

    .container{overflow:hidden;}

    !!浮动元素的display属性值会自动强制转化为block。

    十三,对元素进行定位

    1,相对定位

    possition:realitive;

    top:d;  (top,right,bottom,left皆可用)(d为希望元素从它自然位置偏移的距离)

    2、绝对定位

    possition:absolute;

    top:d;  (top,right,bottom,left皆可用)(d为希望元素从它自然位置偏移的距离)

    !定位是不继承的。

    十四,在栈中定位元素。

      1、z-index:n;n表示定位过的对象堆中的层级的数字。

    十五、溢出处理

    overflow:hidden;(隐藏)

    overflow:auto;(滚动)

    overflow:hidden;(滚动)

    !overflow是不继承的。

    十六、垂直对齐元素

    vertical-align:baseline;middle;sub;super;text-top;

    vertical-align仅适用于行内元素(inline 入em,strong,cite),不能适用于块级元素(bolck 如h1~h6);

    十七,修改鼠标指针

    cuesor:pointer;default;crosshair;move;help;等等

     

    注:今天遇到一个比较大的问题,没有解决:我做了一个有主要栏和附注栏的页面,本来附注栏在主要栏下面,想让附注栏浮动在主要栏右边,写了float:right;它只是向右移动,不是移动到主要栏的右边。然后我就用position把它定位在主要栏右边了。我觉得这样应该是不对的。

  • 相关阅读:
    Shell脚本实现用户数据导入
    Sping Cloud 微服务框架学习
    Redis学习笔记
    HTML+CSS实现简单三级菜单
    CSS Float浮动所带来的奇怪现象
    CSS如何清除浮动流的多种方案
    ECMAScript/JS 基础知识讲解
    Python的生成器
    Python包的导入说明
    Paramiko模块简单使用
  • 原文地址:https://www.cnblogs.com/lal-fighting/p/5077204.html
Copyright © 2011-2022 走看看