zoukankan      html  css  js  c++  java
  • class0513(html基础加强2)

    使用VS创建网页

    新建Web项目(新建→ASP.Net Web应用程序),新建html页面(添加→新建项→Web→HTML页) 查看页面的方式: 切换到“设计”视图,可以在这里查看初步的预览效果,不是很准,可以在“设计”视图从工具箱中拖放控件可视化的设计,设计复杂页面的时候很少直接可视化设计。 在编辑器上点右键,选择“在浏览器中查看”。无法进行调试。 将要查看的页面设为起始页(在文件上点击右键“设为起始页”),然后点击“启动调试”。可以调试。 学没有JS、C#代码的时候用“在浏览器中查看”。修改页面不用关闭浏览器再打开,刷新就可以。 自动提示快速完成页面,结束标签<自动补全,Ctrl+J自动提示。

    什么是浏览器?

    浏览器就是接收浏览者的操作(打开一个网址、点击一个链接、点击一个按钮),然后帮浏览者去Web服务器请求网页内容(HTML格式返回),然后展现成人眼能够看得懂的可视化页面的软件。

    IE==浏览器?IE是浏览器的一种,还有Netscape 、FireFox、Opera、Chrome等,注意遨游(Maxthon)、世界之窗、搜狗浏览器、360浏览器等并不是一种独立于IE的浏览器,其内核还是IE的内核,只不过换了一个外壳而已,所以用遨游的不能嘲笑用IE的,否则就露怯了。试着用WebBrowser控件自己开发一个浏览器

    所谓的Trident 引擎就是IE的WebBrowser控件。现在很多非IE核心的浏览器用的是WebKit引擎,比如遨游3或搜狗的双核、Chrome、Safari。

    装IE Collection,用里面的IE6讲课,速度非常快,在浏览方式中将IE6设为默认就可以。但是不能调试。

    浏览器兼容性

    浏览器兼容性问题:描述文件是一个统一的,但是就像口语翻译一样,不同的翻译翻译出来的东西也是不一样的。不同浏览器品牌对HTML的支持是有差异的,所以同一个网页在IE上和FireFox上看起来可能长得不一样,最明显的就是以前QQ空间上的页面在FireFox上显示就有问题,甚至有的页面在IE6、IE7、IE8上长的也不一样。因此Web开发过程中的一个重要的也是最头疼的问题就是浏览器的兼容。测试FireFox(简称FF)、Chrome等浏览器安装各自的软件就可以,测试不同版本的IE可以用IETester

    最初原因就是Web刚起步的时候没有一个统一的HTML标准,后来虽然有了标准的W3C组织提出的HTML标准,但是各个浏览器厂商还是各自为政,没有完全遵守这个标准。

    HTML和XML的联系、区别

    HTML描述文本长什么样的

    XML 描述存的什么数据

    XHTML可扩展超文本置标语言(eXtensible HyperText Markup Language,XHTML)

    DHTML 是Dynamic HTML的简称,就是动态的html。 HTML、样式表和JavaScript 的组合

    格式标签:<p></p>创建段落;<br />回车,也可以写成<br>,在HTML中有一些标签可以不关闭,<br>就是一个,这是和XML不同的地方(常考),但是为了遵循XHTML规范,推荐像XML一样严格关闭。<br/><img src="1.gif"/>

    属性值:HTML中属性值即可以用单引号括起来、也可以用双引号括起来、甚至不用引号都可以(不推荐),单双要配对。

    注释:HTML使用和XML一样的<!--注释内容-->来做注释。

    从HTML到XHTML过渡的变化比较小,主要是为了适应XML。最大的变化在于文档必须是良构的,所有标签必须闭合,也就是说开始标签要有相应的结束标签。另外,XHTML中所有的标签必须小写。而按照HTML 2.0以来的传统,很多人都是将标签大写,这点两者的差异显著。在XHTML中,所有的参数值,包括数字,必须用双引号括起来(而在SGML和HTML中,引号不是必须的,当内容只是数字、字母及其它允许的特殊字符时,可以不用引号)。所有元素,包括空元素,比如img、br等,也都必须闭合,实现的方式是在开始标签末尾加入斜扛,比如<img … /> 、<br />。省略参数,比如<option selected>,也不允许,必须用<option selected="selected">

    静态页面、动态页面(*)

    网站页面分为静态页面和动态页面两种

    静态页面:没有实现任何功能的网页,有一个html页面文件保存在服务器上,浏览器要这个页面的时候服务器就把这个页面文件发给浏览器;

    动态页面:实现了具体的功能。服务器上没有浏览者要看的页面,而是服务器动态生成的HTML页面发给浏览器,动态语言的服务器端可以用C#、VB.Net、PHP、Java、C等编写。

    Div、Span

    层:<div></div>将内容放到层中,就以将这些内容当成一个整体进行处理,比如整体隐藏、整体移动等。div非常强大和常用。类似于WinForm的Panel。

    span:div是将内容放到一个矩形的区块中,会影响布局,而span只是把一段内容定义成一个整体进行操作,但不影响布局、显示。

    层内文字连续英文不换行的问题,word-break:break-all;

    溢出处理。overflow:scroll,overflow:hide

    样式表、CSS

    CSS(层叠样式表)是用来美化页面用的,可以对页面元素进行更精细的设置,样式主要描述元素的字体颜色、背景颜色、边框等。CSS主要有元素内联、页面嵌入和外部引用三种使用方式。CSS是描述元素的皮肤!

    元素内联,直接将样式写入元素的style属性中,<input type="text" readonly="readonly" style="background-color: #FF00FF" />,适用于样式没有可复用性的场合。

    页面嵌入:在head中加入
        <style type="text/css">
            input{border-color:Yellow;color:Red;}
        </style>
    表示页面中所有input都是采用指定的样式。适合于样式复用,减小页面体积
    外部引用,将css内容写入css后缀的文件
    textarea{background:yellow}
    然后在页面中引用,在head中加入
    <link type="text/css" rel="Stylesheet" href="s1.css" />
    适合于多个页面共享css。

    推荐把尽可能多的样式写到单独的css文件中,这样可以复用,美工人员和开发人员很好的分工。 只有页面特有的样式才写到<style>中 只有元素特有的样式才写到元素的style属性中。 如果不同级别的样式有冲突,详细级别、子元素的会覆盖更高级别、父元素的。就近原则

    常见样式

    css计量单位:css中表示宽度、距离时有多种计量单位:px(像素)、30%(百分比)、em(相对单位)等。20px。

    background-color:Red;背景颜色;color:文本颜色 复合样式 background border

    border-style:solid;边框风格,实线solid(默认是没有),还有dotted(点)等值;border-color:边框颜色;border-width:边框宽度(默认是0)。例子:style="border-color:Red;border-1px;border-style:dotted;"

    display:元素是否显示,可选值none(不显示,不占地儿)、block (显示为块级元素,此元素前后会带有换行符。)、inline(显示为内联元素,元素前后没有换行符 )等。 cursor,鼠标在元素上时显示的光标图标,可选值:cursor(默认光标)、pointer(超链接上的手)、text(输入Bean)、wait(忙沙漏)、help(帮助)等。还可以通过cursor:url(dinosau2.ani)使用ani、cur格式的自定义光标图片。

    LI不显示圆点:LIST-STYLE-TYPE: none;一般设在li或者ul上

    盒子模型

    3种样式表的用法 (就近原则) 样式表常用属性

    样式选择器

    对于非元素内联的样式需要定义样式选择器,通俗的说就是这个样式适合于哪些元素,三种:标签选择器、class选择器和id选择器。 标签选择器 input{border-color:Yellow;color:Red;},对于指定的标签采用统一的样式 class选择器,以定义一个命名的样式,然后在用到它的时候设定元素的class属性为样式的名称,还可以同时设定多个class,名称之间加空格

    样式名称开头加“.”
            .warning{background:Yellow;}
            .highlight{font-size:xx-large;cursor:help;}
    <table><tr><td class="highlight">aaa</td><td class="warning">bb</td><td class="highlight warning">ccc</td></tr></table>
    同一个标签可以应用多个类选择器
     .warning
            {
                background:Yellow;
            }
            .highlight
            {
                font-size:xx-large;
                cursor:help;
            }
    <table>
        <tr><td class="highlight">aaa</td><td class="warning">bb</td><td class="highlight warning">ccc</td></tr>
    </table>

    标签+class选择器

    class选择器也可以针对不同的标签,实现同样的样式名对于不同的标签有不同的样式,只要在样式名前加标签名即可。
    input.accountno{text-align:right;color:Red;}
    label.accountno{font-style:italic;}
    <input class="accountno" type="text" value="111111111111111" />
    <label class="accountno">333333333333333333</label>
     input.accountno
            {
                  text-align:right;
                  color:Red;
            }
            label.accountno
            {
                font-style:italic;
            }
    <input class="accountno" type="text" value="111111111111111" />
    <label class="accountno">333333333333333333</label>

    id选择器

    为指定id的元素设定样式,id前加#
            #username
            {
                font-size:xx-large;
            }
    <input id="username" type="text" value="aaaaaaaaaaaa" />
    
    style、class可以同时组合使用
    <input id="username" class="accountno" style="font-size:xx-large" type="text" value="aaaaaaaaaaaa" />

    包含选择器:

    P strong{ background-color:Yellow}

    表示P标签内的strong标签内的内容使用的样式

    <strong>fadsfasdfads</strong>

    <p><strong>adfasfd</strong></p>

    组合选择器,同时为多个标签设定一个样式

    H1,H2,input{background-color:Green} <h1>nihao</h1>

    <input type="text" value="test" />

    伪选择器

    伪选择器:为标签的不同状态设定不同的样式:

    A:visited:超链接点击过的样式;A:active:选中超链接时的样式;A:link:超链接未被访问时的状态;A:hover:鼠标移到超链接时的状态。

    A:visited {TEXT-DECORATION: none}

    A:active {TEXT-DECORATION: none}

    A:link {TEXT-DECORATION: none}

    A:hover {TEXT-DECORATION: underline}

    说明:TEXT-DECORATION: none表示超链接不显示下划线。

    A:visited {
        TEXT-DECORATION: none
    }
    A:active {
        TEXT-DECORATION: none
    }
    A:link {
        TEXT-DECORATION: none
    }
    A:hover {
        TEXT-DECORATION: underline
    }

    细边框表格

    设置了表格的border=“1px” 因为表格边线有重叠,所以表格的边线显示比较粗。可以使用css去重重叠

    one
    使用css 先给Table加上1px的border-top,border-left
    再给td加上1px的border-right,border-bottom
    Two
    border-collapse:collapse;

    使用ul和li制作横向和纵向菜单

    网页布局

    框架布局 表格布局 DIV+CSS布局

    Frameset  框架页里不能有body
    <frameset rows="30%,70%" >
            <frame src="top.htm" noresize/>
            <frameset cols="20%,80%">
                <frame src="left.htm" noresize/>
                <frame src="main.htm" noresize/>
            </frameset>
        </frameset>
    iframe
    <iframe src="iframe.htm" name="0" width="0" height="0"></iframe>

    Div+CSS布局

    网页布局就是“这块内容显示在左边,那两块内容并排显示,那块内容漂浮在页面上”。

    不要使用<table>进行布局,因为:

    table可能会在所有tr、td加载完成以后才显示,所以加载完成之前界面是一片空白;

    用table布局会将布局方式写在html中,违反了“语义性”原则;

    用table会影响搜索引擎的抓取,不利于SEO。

    因此Table用来表达真实表格状数据的东西,布局用Div(层)+Css来做,Div用来圈定元素,CSS用来定义元素的位置。

    Div+CSS就是将要布局的内容用<div>切成块,然后使用css描述每个块的大小、位置等。

    布局最重要的一个属性就是float,查看此文档的描述。 初学不用研究太深,能读懂、会用就可以,备注有很多案例。

    http://www.blueidea.com/tech/site/2006/3574.asp
    Div+CSS布局:http://www.aa25.cn/layout/
    Div+CSS布局: 960.gs
    
    
    案例:顶部菜单
        <style type="text/css">
            #nav ul
            {
                list-style-type:none;
            }
            #nav ul li
            {
                float:left;
                margin:0 10px;
            }
            .menuSeparator {1px;height:18px;background:Red}
        </style>
    <div id="nav">
        <ul>
            <li><a href="http://www.itcast.cn">传智播客</a></li>
            <li class="menuSeparator"></li>
            <li><a href="http://www.rupeng.com">如鹏网</a></li>
            <li class="menuSeparator"></li>
            <li><a href="http://www.google.com">谷歌</a></li>
        </ul>
    </div>
    li中的项横排显示是float:left;的作用,margin:0 10px;的作用是不让各个项之间紧挨着。项之间的分割竖线是用一个宽度为1,高度为18的红色背景的li做的。
    View Code

    文档流

    文档流:将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素。

    position:absolute;绝对定位,

    即完全脱离文档流, 相对于position属性非static值的最近父级元素进行偏移

    position:fixed;固定定位,

    即完全脱离文档流, 相对于视区进行偏移.

    position:relative;相对定位, 这个属性值保持对象所在文档流中的位置,相对于元素在文档流中位置进行偏移. 但保留原占位.可以设置top, left, right, bottom定位 position:static; 默认值 文档流

    案例,网页右下角的广告图片(假冒QQ消息)
    IE6不支持position: fixed;
    使用资源 51xp.gif
    
        <style type="text/css">
            #jb51_yxj
            {
                position: fixed;
                background-color: #fff;
                 250px;
                bottom: 0px;
                overflow: hidden;
                right: 0px;
          }
        </style>
    页面中插入多个回车,以出现滚动条:
        <div id="jb51_yxj">
            <img src="51xp.gif" />
        </div>
  • 相关阅读:
    BZOJ3732: Network
    BZOJ2705: [SDOI2012]Longge的问题
    BZOJ3712: [PA2014]Fiolki
    BZOJ3709: [PA2014]Bohater
    BZOJ3668: [Noi2014]起床困难综合症
    CoderForces985F-Isomorphic Strings
    CodeForces985C-Liebig's Barrels
    Open-Pit Mining
    Multiplication Game
    象棋
  • 原文地址:https://www.cnblogs.com/fanhongshuo/p/3813911.html
Copyright © 2011-2022 走看看