签到

06月20日
尚未签到

共有回帖数 0

    回望空城

    等级:
    引用百科一段话

    DIV+CSS是网站标准(或称“WEB标准”)中常用术语之一,div+css 是一种网页的布局方法,这一种网页布局方法有别于传统的HTML网页设计语言中的表格(table)定位方式,可实现网页页面内容与表现相分离。XHTML是The Extensible HyperText Markup Language(可扩展超文本标识语言)的缩写。XHTML基于可扩展标记语言(XML),是一种在HTML 基础上优化和改进的的新语言,目的是基于XML应用与强大的数据转换能力,适应未来网络应用更多的需求。在XHTML网站设计标准中,不再使用表格定位技术,而是采用DIV+CSS的方式实现各种定位。

    以前都是table布局。。现在已经基本不用了(table只用来显示数据)
    div中文里是区域的意思,css则是层叠样式表的意思,可见核心是布局,而不是样式
    在学习DIV+CSS之前,一定要熟悉HTML,DIV+CSS要在HTML的基础上学习

    好了,现在是用什么工具,一般用记事本就可以了 也就是记事本+浏览器就OK,服务器都不需要,也可以用dreamweaver cs5,这个有提示,帮助文档最好下个中文版的CSS样式表手册,这样就齐活啦
    首先推荐一个学习web 的网站:http://w3school.com.cn 里面可以学到html,js,css等脚本语言


    下面开始学,首先熟悉下html的基本结构,创建一个html文件test.html
    html
    head
    title这是HTML基本结构/title
    head
    body
    hello!
    /body
    /html

    当然,你直接在html文件直接输入hello也能正常显示,但这不符合标准
    下面认识下div,其实可以把他看作一个容器,或者一个盒子,他是专门盛放内容的
    html
    head
    titleDIV认识/title
    head
    body
    div这是一个div/div
    /body
    /html
    但是你在网页上是看不到这个div的,因为他还是透明的
    我们需要给他样式让他显示,首先让他的边框显示,宽高度100px,背景色为红色
    html
    head
    titleDIV认识/title
    head
    body
    div style="border:solid 1px;width:100px;height:100px;background:red"这是一个div/div
    /body
    /html

    每一个html标签都有style属性,div当然也不例外
    border:solid 1px border表示css边框属性 solid 1px 是它的两个值 注意要空格
    solid 表示边框实现显示 1px表示边框宽度为1像素
    什么是像素 看这里http://baike.baidu.com/view/575.htm

    width:100px;height:100px;是设置div的宽度和高度 注意每个属性给值用: 属性之间隔开用;
    background:red 背景设置红色

    如上代码在浏览器显示如下


    还得提一下,浏览器最好用IE8 谷歌浏览器,火狐浏览器,360的也可以
    因为他们支持css标准还算兼容,别的浏览器就说不准了,你看的结果可能不一样
    css浏览器兼容日后再说
    引入css样式除了上面一种,还有两种
    一种是外部样式引入,特别推荐这种,一种是内部样式

    外部样式引入需要在head标签里加
    link rel="stylesheet" type="text/css" href="mystyle.css" /
    另外还的在html文件相同目录下创建mystyle.css文件

    内部样式是直接在head写入,由于贴子特殊性,本贴全部用内部样式,这样看的舒服点,但在实际中最好用外部样式引入

    这是内部样式
    html
    head
    style type="text/css"
    div{
    border:solid 1px;
    width:100px;
    height:100px;
    background:red
    }
    /style head
    body
    div这是一个div/div
    /body
    /html

    这比之前要规范多了,body里也看的简单多了,要多多用这种样式与内容分离模式
    如果是这种
    html
    head
    style type="text/css"
    div{
    border:solid 1px;
    width:100px;
    height:100px;
    background:red
    }
    /style head
    body
    div style="border:solid 1px;width:200px;height:200px;background:green"这是一个div/div
    /body
    /html

    下面介绍css里的选择器
    啥为选择器?看下面就明白
    html
    head
    style type="text/css"
    div{
    border:solid 1px;
    width:100px;
    height:100px;
    background:red
    }
    /style head
    body
    div这是一个div/div
    /body
    /html

    其中大括号前的div就是html标签选择器,意思就是说html里所有div标签都采用此样式

    html
    head
    style type="text/css"
    div{
    border:solid 1px;
    width:100px;
    height:100px;
    background:red
    }
    /style head
    body
    div这是一个div/div
    div/div
    div/div
    div/div
    /body
    /html


    这里多加几个div你会发现都是同一样式
    这种标签选择器只能是html标签才能生效
    下面介绍ID选择器

    html
    head
    style type="text/css"
    #a{
    border:solid 1px;
    width:100px;
    height:100px;
    background:red
    }
    /style head
    body
    div id="a"这是一个div/div
    /body
    /html

    这玩意一看就明白,用id选择器前面加#

    然后是类选择器

    html
    head
    style type="text/css"
    .a{
    border:solid 1px;
    width:100px;
    height:100px;
    background:red
    }
    /style head
    body
    div class="a"这是一个div/div
    /body
    /html

    也是一看就明白 类选择器前面加.
    下面说说它们的区别
    id顾名思义就是唯一标识,一个标签只能用一次,他的优先级要比类选择器要高
    而类选择器在一个标签里可以用多个

    html
    head
    style type="text/css"
    #a{
    border:solid 1px;
    width:100px;
    height:100px;
    background:red
    }
    /style head
    body
    div id="a"这是一个div/div
    div id="a"这是一个div/div
    /body
    /html


    html
    head
    style type="text/css"
    .a{
    border:solid 1px;
    width:100px;
    height:100px;
    background:red
    }
    /style head
    body
    div class="a"这是一个div/div
    div class="a"这是一个div/div
    /body
    /html

    是一样的

    另外说一句,css样式块,也就是这个
    .a{
    border:solid 1px;
    width:100px;
    height:100px;
    background:red
    }
    最后一个可以省略分号,但最好加上
    html
    head
    style type="text/css"
    #a{
    background:red
    }
    .b{
    border:solid 1px;
    width:100px;
    height:100px;
    background:green;
    }
    /style head
    body
    div id="a" class="b"这是一个div/div
    /body
    /html

    由于id选择器优先级高,它会采用id选择器的背景颜色
    优先级比较
    id选择器》类选择器》标签选择器
    但是类选择器可以在一个标签使用多个,这是id选择器做不到的
    html
    head
    style type="text/css"
    .a{
    width:100px;
    height:100px;
    }
    .b{
    border:solid 1px;
    background:red;
    }
    /style head
    body
    div class="a b" 这是一个div/div
    /body
    /html

    class="a b" 注意要空格
    div class="a" class="b" 这是一个div/div 这样是无效的
    如果两个类选择器内容冲突怎么办?

    html
    head
    style type="text/css"
    .a{
    width:100px;
    height:100px;
    border:solid 1px;
    background:red;
    }
    .b{
    width:100px;
    height:100px;
    border:solid 1px;
    background:green;
    }
    /style head
    body
    div class="a b" 这是一个div/div
    /body
    /html

    注意就背景颜色不一样
    它会采用样式表里最靠后的,也就是谁在谁后面就采用那个,答案是绿色
    跟这个class="a b" 前后关系无关
    下面介绍组合选择器
    组合选择器就是相同的属性都放在一起

    例如
    h1标题/h1
    h2标题/h1
    h3标题/h1
    h4标题/h1
    h5标题/h1

    我要让这5种标题的文字都变成红色,显然一个个定义就太麻烦了
    我们可以这样
    html
    head
    style type="text/css"
    h1,h2,h3,h4,h5{
    color:red
    }
    /style head
    body
    h1标题/h1
    h2标题/h1
    h3标题/h1
    h4标题/h1
    h5标题/h1
    /body
    /html

    当然也可以id选择器,类选择器,标签选择器一起组合
    ,a,#b,div{
    color:red
    }

    注意都要用逗号隔开
    如果没用逗号隔开,就是我们下面要说的父子选择器了

    div id="a"
    h1标题/h1
    h1标题/h1
    h1标题/h1
    h1标题/h1
    h1标题/h1
    div
    假如要让div里的hi标签都成红色
    有很多办法,一种用标签选择器,但是会让页面上所有的H1标签都成红色,不好
    也可以用类标签,但是每个h1标签里都要class一下 麻烦

    我们可以这样
    html
    head
    style type="text/css"
    #a h1{
    color:red
    }
    /style head
    body
    div id="a"
    h1标题/h1
    h1标题/h1
    h1标题/h1
    h1标题/h1
    h1标题/h1
    div
    /body
    /html

    这样就ok了

    如果是这样
    div id="a"
    ah1标题/h1/a
    ah1标题/h1/a
    div

    这样就ok
    html
    head
    style type="text/css"
    #a a h1{
    color:red
    }
    /style head
    body
    div id="a"
    ah1标题/h1/a
    ah1标题/h1/a
    div
    /body
    /html

    很简单吧,其实父选择可以控制它下面的任何标签或类或id选择器,也就是孙子或重孙子
    所以这样也是可以的
    html
    head
    style type="text/css"
    #a h1{
    color:red
    }
    /style head
    body
    div id="a"
    ah1标题/h1/a
    ah1标题/h1/a
    div
    /body
    /html

    但建议最好不要这样。因为层次不清楚的话很容易搞晕
    另外一种属性选择器,不是很常用
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    html
    head
    style type="text/css"
    [title]{
    color:red;
    }
    /style head
    body
    div id="a"
    a title="a"h1标题/h1/a
    a title="b"h1标题/h1/a
    div
    /body
    /html

    必训得加
    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    文档说明才有用

    !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
    html
    head
    style type="text/css"
    [title=a]{
    color:red;
    }
    /style head
    body
    div id="a"
    a title="a"h1标题/h1/a
    a title="b"h1标题/h1/a
    div
    /body
    /html

    只对等于a的有效

    属性选择器在为不带有 class 或 id 的表单设置样式时特别有用:input[type="text"]
    { width:150px; display:block; margin-bottom:10px; background-color:yellow; font-family: Verdana, Arial; }
    input[type="button"] { width:120px; margin-left:35px; display:block; font-family: Verdana, Arial; }

    但其实也不是常用,不做必训掌握内容
    下面是介绍相邻选择器
    这可能很难理解

    !DOCTYPE HTML
    html
    head
    style type="text/css"
    h1 + p {margin-top:50px;} /style head
    body
    h1标题/h1
    p我离上面标题50px/p
    p不变/p
    p不变/p
    /body
    /html

    这其实是针对第一个p的样式,margin-top:50px表示外边距50px,以后学到

    还有一种子元素选择器,也比较难理解

    先看下面
    !DOCTYPE HTML
    html
    head
    style type="text/css"
    p a {color:red;} /style head
    body
    p你a好/a吗/p
    p你spana好/a/span吗/p
    /body
    /html

    这种很熟悉啦,父子选择器,我说过父亲可以控制任意下面的子元素,所以两个好都变红色
    如果我只希望a是p的子元素,另外一个a是span的子元素,就该这样
    !DOCTYPE HTML
    html
    head
    style type="text/css"
    pa {color:red;} /style head
    body
    p你a好/a吗/p
    p你spana好/a/span吗/p
    /body
    /html

    这两种选择器都得加!DOCTYPE HTML(当然不是只有这个),否则无效


    这两种选择器很灵活,作为高手进阶吧,初学还是把其他选择器基础打牢固

    楼主 2016-05-06 17:02 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知