前端设计_前端设计模式 - CSDN
精华内容
参与话题
  • 前端设计原则 一致性 Consistency   与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念; 在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。...

    内容总结于 elementUI,iview,bootStrap中文网,互联网

    前端设计原则

    一致性 Consistency

     

    与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;

    在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。

    反馈 Feedback

     

    控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;

    页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。

    效率 Efficiency

     

    简化流程:设计简洁直观的操作流程;

    清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;

    帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。

    可控 Controllability

     

    用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;

    结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。

     

    设计原则

    以下是对基本设计原则的概述,每一个优秀的设计中都应用了这些设计原则,它们相互关联,只应用某一个原则的情况很少。(出自《写给大家看的设计书》)

    对比(Contrast #

    对比的基本思想是,要避免页面上的元素太过相似。如果元素(字体、颜色、大小、线宽、形状、空间等)不相同,那就干脆让它们截然不同。要让页面引人注意,对比通常是最重要的一个因素,正是它能使读者首先看这个页面。

    重复(Repetition#

    让设计中的视觉要素在整个作品中重复出现。可以重复颜色、形状、材质、空间关系、线宽、字体、大小和图片,等等。这样一来,既能增加条理性,还可以加强统一性。

    对齐(Alignment#

    任何东西都不能在页面上随意安放。每个元素都应当与页面上的另一个元素有某种视觉联系。这样能建立一种清晰、精巧而且清爽的外观。

    亲密性(Proximity#

    彼此相关的项应当靠近,归组在一起。如果多个项相互之间存在很近的亲密性,它们就会成为一个视觉单元,而不是多个孤立的元素。这有助于组织信息,减少混乱,为读者提供清晰的结构。

    导航设计原则

    导航可以解决用户在访问页面时:在哪里,去哪里,怎样去的问题。一般导航会有「侧栏导航」和「顶部导航」2 种类型。

     

    选择合适的导航

     

    选择合适的导航可以让用户在产品的使用过程中非常流畅,相反若是不合适就会引起用户操作不适(方向不明确),以下是「侧栏导航」和 「顶部导航」的区别。

     

    侧栏导航


    可将导航栏固定在左侧,提高导航可见性,方便页面之间切换;顶部可放置常用工具,如搜索条、帮助按钮、通知按钮等。适用于中后台的管理型、工具型网站。



    一级类目

    一级类目

    适用于结构简单的网站:只有一级页面时,不需要使用面包屑。


    二级类目

    二级类目

    侧栏中最多可显示两级导航;当使用二级导航时,我们建议搭配使用面包屑,方便用户定位自己的位置和快速返回。

     

    三级类目

    三级类目

    适用于较复杂的工具型后台,左侧栏为一级导航,中间栏可显示其对应的二级导航,也可放置其他的工具型选项。



    顶部导航

     

    顺应了从上至下的正常浏览顺序,方便浏览信息;顶部宽度限制了导航的数量和文本长度。

     

     

    适用于导航较少,页面篇幅较长的网站。

    Container 布局容器

    用于布局的容器组件,方便快速搭建页面的基本结构:

    外层容器

    顶栏容器。

    侧边栏容器。

    主要区域容器。

    底栏容器。

    常见页面布局




    布局和导航是产品的骨架,是页面的重要构成模式之一,是作为后续展开页面设计的基础,可以为产品奠定交互和视觉风格。






    几种布局的概念

    1、静态布局(Static Layout

     

    即传统Web设计,对于PC设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分;

    意思就是不管浏览器尺寸具体是多少,网页布局就按照当时写代码的布局来布置;

    对于移动设备,单独设计一个布局,使用不同的域名如wap.m.

     

    2、弹性布局

     

    弹性布局是CSS3引入的强大的布局方式,用来替代以前Web开发人员使用的一些复杂而易错hacks方法(如使用float进行类似流式布局)。

    其中flex-flowflex-directionflex-wrap属性的简写方式,语法如下:

    flex-flow: <flex-direction> || <flex-wrap>

    flex-direction: row(初始值) | row-reverse | column | column-reverse

    flex-wrap: nowrap(初始值) | wrap | wrap-reverse

    flex-direction定义了弹性项目在弹性容器中的放置方向,默认是row,即行内方向(一般而言是由左往右,但注意这个和书写模式有关)。

    flex-wrap定义是否需要拆行以使得弹性项目能被容器包含。*-reverse代表相反的方向。

    两者结合起来即flex-flow属性就确定了弹性容器在main axiscross axis两个方向上的显示方式,下面的例子很直观的说明了各个属性值的区别:

    3、自适应布局(Adaptive Layout

     

    自适应布局(Adaptive)的特点是分别为不同的屏幕分辨率定义布局。布局切换时页面元素发生改变,但在每个布局中,页面元素不随窗口大小的调整发生变化。

    你可以把自适应布局看作是静态布局的一个系列。

    就是说你看到的页面,里面元素的位置会变化而大小不会变化;

    4、流式布局(Liquid Layout

     

    流式布局(Liquid)的特点(也叫”Fluid) 是页面元素的宽度按照屏幕进行适配调整,主要的问题是如果屏幕尺度跨度太大,那么在相对其原始设计而言过小或过大的屏幕上不能正常显示

    你看到的页面,元素的大小会变化而位置不会变化——这就导致如果屏幕太大或者太小都会导致元素无法正常显示。

    5、响应式布局(Responsive Layout

    参考栅格系统

    分别为不同的屏幕分辨率定义布局,同时,在每个布局中,应用流式布局的理念,即页面元素宽度随着窗口调整而自动适配。

    可以把响应式布局看作是流式布局和自适应布局设计理念的融合。

    每个屏幕分辨率下面会有一个布局样式,同时位置会变而且大小也会变。

     

    在线可视化布局系统

    http://www.bootcss.com/p/layoutit/#




    展开全文
  • 在国内,“前端开发”这个名词逐步被熟知,“前端开发”这个职位越来越被企业重视,表明国内的Web前端开发正在慢慢走向成熟,更好地学习提高自身的前端开发技术能力是必须的,整理8个国内优秀的前端开发设计网站给...
           在国内,“前端开发”这个名词逐步被熟知,“前端开发”这个职位越来越被企业重视,表明国内的Web前端开发正在慢慢走向成熟,更好地学习提高自身的前端开发技术能力是必须的,整理8个国内优秀的前端开发设计网站给大家,也希望能看到你推荐的中文前端开发网站和社区。
    

    1, 蓝色理想

    http://www.blueidea.com/

    诞生于1999年10月的蓝色理想,以建设网站设计与开发人员之家为宗旨,以介绍网络开发技术与网站创作设计交流为主要内容,是国内最大的设计类站点之一。


    2, W3School

    http://www.w3school.com.cn/index.html

    W3School是最完善的在线教程站,包括 XHTML教程、XML教程JavaScript & AJAX、网站构建等前端开发人员必备的系统性学习教材。


    3, 前端观察

    http://www.qianduan.net/

    前端观察是一个纯粹的前端技术分享网站,本站的目的是为前端技术人员提供所需的资讯及资源,挖掘国内优秀的原创设计及内容,加以高度的整理。


    4, CSS88

    http://www.css88.com/

    CSS88专注前端开发,关注用户体验,是一个资深的Web前端开发站,不仅传播前端技术,更重要的是关注前端设计从业者的生存状态,有多个开放的前端交流群。


    5, CssRain

    http://www.cssrain.cn/

    CssRain实用的前端技术信息,原创和搜集前端开发中细节的内容,一本jQuery新书推荐<<锋利的jQuery>>你值得拥有。


    6, 我爱CSS

    http://www.52css.com/

    我爱CSS,致力于Web标准在中国的应用和发展,提供CSS和XHTML学习教程。


    7, iJavaScript

    http://www.ijavascript.cn/

    iJavaScript致力于JavaScript信息的共享,提供JavaScript基础教程、AJAX技术及JavaScript框架的学习和应用。


    8, OKAJAX

    http://www.okajax.com/

    OKAJAX是以ajax技术为主,涉及网站建设、网络编程、网页设计、网页特效、服务器技术、资源下载等的综合性网站。


    这是个人的一些整理分享,如果还有你认为非常优秀的前端开发设计资源类网站没有出现在列表中,请留言告诉我,我会及时地对此进行补充。



    转自【http://www.bbon.cn/2009/11/8-excellence-front-end-development-and-design-chinese-sites.html

    展开全文
  • 前端开发里的设计模式

    千次阅读 2018-01-18 23:57:17
    前端开发中的设计模式 设计模式的定义是,在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。在不同的编程语言中,对设计模式的实现其实是可能会有区别的。比如java和javascript,在Java这种静态编译型...

    前端开发中的设计模式

    设计模式的定义是,在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。在不同的编程语言中,对设计模式的实现其实是可能会有区别的。比如java和javascript,在Java这种静态编译型语言中,无法动态地给已存在的对象添加职责,所以一般通过包装类的方式来实现装饰者模式。但在JavaScript这种动态解释型语言中,给对象动态添加职责是再简单不过的事情。这就造成了JavaScript语言的装饰者模式不再关注于给对象动态添加职责,而是关注于给函数动态添加职责。本篇博文将介绍以下几个比较常见的设计模式:

    • 单例模式
    • 观察者模式
    • 命令模式
    • 职责链模式

    单例模式

    单例模式的定义是保证一个类只有一个实例,并且提供一个访问它的全局访问点。有些时候一些对象我们往往只需要一个,比如线程池、全局缓存、浏览器中的window对象等。单例模式的优点是:

    • 可以用来划分命名空间,减少全局变量的数量
    • 使用单例模式可以使代码组织的更为一致,使代码容易阅读和维护
    • 可以被实例化,且实例化一次

    要实现一个标准的单例模式并不复杂,无非是用一个变量标识当前是否已经为某个类创建过对象,如果是,则在下一次获取这个类的实例时,直接返回之前创建的对象。下面是单例模式的基本结构:

    // 单例模式
    var Singleton = function(name){
        this.name = name;
        this.instance = null;
    };
    Singleton.prototype.getName = function(){
        return this.name;
    };
    // 获取实例对象
    Singleton.getInstance = function(name) {
        if(!this.instance) {
            this.instance = new Singleton(name);
        }
        return this.instance;
    };
    // 测试单例模式的实例
    var a = Singleton.getInstance("aa");
    var b = Singleton.getInstance("bb");

    实际上因为单例模式是只实例化一次,所以a和b其实是相等的。也即是说下面语句的值为true。

    console.log(a===b)

    由于单例模式只实例化一次,因此第一次调用,返回的是a实例的对象,继续调用的时候,b的实例也就是a的实例,因此下面打印的都是aa:

    console.log(a.getName());// aa
    
    console.log(b.getName());// aa  

    观察者模式

    观察者模式又叫做发布-订阅模式,它定义了对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于他的对象都将得到通知,在javascript的开发中,一般用事件模型来替代传统的发布 — 订阅模式。

    发布 — 订阅模式可以广泛应用于异步编程中,这是一种替代传递回调函数的方案。比如,我们可以订阅 ajax请求的 error 、 succ 等事件。或者如果想在动画的每一帧完成之后做一些事情,那我们可以订阅一个事件,然后在动画的每一帧完成之后发布这个事件。在异步编程中使用发布 — 订阅模式,我们就无需过多关注对象在异步运行期间的内部状态,而只需要订阅感兴趣的事件发生点。

    发布 — 订阅模式还可以取代对象之间硬编码的通知机制,一个对象不用再显式地调用另外一个对象的某个接口。发布 — 订阅模式让两个对象松耦合地联系在一起,虽然不太清楚彼此的细节,但这不影响它们之间相互通信。当有新的订阅者出现时,发布者的代码不需要任何修改;同样发布者需要改变时,也不会影响到之前的订阅者。只要之前约定的事件名没有变化,就可以自由地改变它们。

    实际上,只要我们曾经在 DOM 节点上面绑定过事件函数,那我们就曾经使用过发布 — 订阅模式,以下代码便是一个示例:

    document.body.addEventListener( 'click', function(){
    alert(2);}, false );
    document.body.click(); // 模拟用户点击

    在这里需要监控用户点击 document.body 的动作,但是我们没办法预知用户将在什么时候点击。所以我们订阅 document.body 上的 click 事件,当 body 节点被点击时, body 节点便会向订阅者发布这个消息。就像是楼房购买,购房者不知道房子什么时候开售,于是他在订阅消息后等待售楼处发布消息。

    除了 DOM 事件,我们还会经常实现一些自定义的事件,这种依靠自定义事件完成的发布 —订阅模式可以用于任何 JavaScript代码中。实现发布 — 订阅模式的步骤如下:
    1. 首先指定好谁充当发布者;
    2. 然后给发布者添加一个缓存列表,用于存放回调函数以便通知订阅者;
    3. 最后发布消息的时候,发布者会遍历这个缓存列表,依次触发里面存放的订阅者回调函数。

    var salesOffices = {}; // 定义售楼处
    salesOffices.clientList = []; // 缓存列表,存放订阅者的回调函数
    salesOffices.listen = function( fn ){ // 增加订阅者
        this.clientList.push( fn ); // 订阅的消息添加进缓存列表
    };
    salesOffices.trigger = function(){ // 发布消息
        for( var i = 0, fn; fn = this.clientList[ i++ ]; ){
            fn.apply( this, arguments ); // arguments 是发布消息时带上的参数
        }
    };
    //调用
    salesOffices.listen( function( price, squareMeter ){//订阅消息
        console.log( '价格= ' + price );
        console.log( 'squareMeter= ' + squareMeter );
    });
    salesOffices.trigger( 2000000, 88 ); // 输出:200 万,88 平方米

    至此,实现了最简单的发布-订阅模式。比起在Java中实现观察者模式,还是有不同的,在Java里面实现,通常会把订阅者对象当成引用传入发布者对象中,同时订阅者对象还需提供一个名为诸如 update的方法,供发布者对象在适合的时候调用。而在 JavaScript中,我们用注册回调函数的形式来代替传统的发布 — 订阅模式。

    命令模式

    命令模式中的命令(command)指的是一个执行某些特定事情的指令。

    命令模式的应用场景是:有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么,此时希望用一种松耦合的方式来设计软件,使得请求发送者和请求接收者能够消除彼此之间的耦合关系。

    传统的面向对象的模式设计代码的方式是,假设html结构如下:

    <button id="button1">刷新菜单目录</button>
    <button id="button2">增加子菜单</button>
    <button id="button3">删除子菜单</button>

    JavaScript的代码如下:

    var b1 = document.getElementById("button1"),
        b2 = document.getElementById("button2"),
        b3 = document.getElementById("button3");
    
     // 定义setCommand 函数,该函数负责往按钮上面安装命令。点击按钮后会执行command对象的execute()方法。
     var setCommand = function(button,command){
        button.onclick = function(){
            command.execute();
        }
     };
     // 下面我们自己来定义各个对象来完成自己的业务操作
     var MenuBar = {
        refersh: function(){
            alert("刷新菜单目录");
        }
     };
     var SubMenu = {
        add: function(){
            alert("增加子菜单");
        },
        del: function(){
            alert("删除子菜单");
        }
     };
     // 下面是编写命令类
     var RefreshMenuBarCommand = function(receiver){
        this.receiver = receiver;
     };
     RefreshMenuBarCommand.prototype.execute = function(){
        this.receiver.refersh();
     }
     // 增加命令操作
     var AddSubMenuCommand = function(receiver) {
        this.receiver = receiver;
     };
     AddSubMenuCommand.prototype.execute = function() {
        this.receiver.add();
     }
     // 删除命令操作
     var DelSubMenuCommand = function(receiver) {
        this.receiver = receiver;
     };
     DelSubMenuCommand.prototype.execute = function(){
        this.receiver.del();
     }
     // 最后把命令接收者传入到command对象中,并且把command对象安装到button上面
     var refershBtn = new RefreshMenuBarCommand(MenuBar);
     var addBtn = new AddSubMenuCommand(SubMenu);
     var delBtn = new DelSubMenuCommand(SubMenu);
    
     setCommand(b1,refershBtn);
     setCommand(b2,addBtn);
     setCommand(b3,delBtn);

    不过上述代码太过繁琐,用javascript的回调函数,接收者被封闭在回调函数产生的环境中,执行操作将会更加简单,仅仅执行回调函数即可。

    var setCommand = function(button,func) {
        button.onclick = function(){
            func();
        }
     }; 
     var MenuBar = {
        refersh: function(){
            alert("刷新菜单界面");
        }
     };
     var SubMenu = {
        add: function(){
            alert("增加菜单");
        }
     };
     // 刷新菜单
     var RefreshMenuBarCommand = function(receiver) {
        return function(){
            receiver.refersh();    
        };
     };
     // 增加菜单
     var AddSubMenuCommand = function(receiver) {
        return function(){
            receiver.add();    
        };
     };
     var refershMenuBarCommand = RefreshMenuBarCommand(MenuBar);
     // 增加菜单
     var addSubMenuCommand = AddSubMenuCommand(SubMenu);
     setCommand(b1,refershMenuBarCommand);
    
     setCommand(b2,addSubMenuCommand);

    职责链模式

    职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

    假设有这样的场景,我们负责一个售卖手机的电商网站,经过分别交纳 500元定金和 200元定金的两轮预定后(订单已在此时生成),现在已经到了正式购买的阶段。公司针对支付过定金的用户有一定的优惠政策。在正式购买后,已经支付过 500元定金的用户会收到 100元的商城优惠券,200元定金的用户可以收到 50元的优惠券,而之前没有支付定金的用户只能进入普通购买模式,也就是没有优惠券,且在库存有限的情况下不一定保证能买到。

    • orderType :表示订单类型(定金用户或者普通购买用户), code 的值为 1的时候是 500元定金用户,为 2的时候是 200元定金用户,为 3的时候是普通购买用户。
    • pay :表示用户是否已经支付定金,值为 true 或者 false , 虽然用户已经下过 500元定金的订单,但如果他一直没有支付定金,现在只能降级进入普通购买模式
    • stock :表示当前用于普通购买的手机库存数量,已经支付过 500 元或者 200 元定金的用户不受此限制

    把这个流程代码化:

    var order = function( orderType, pay, stock ){
    if ( orderType === 1 ){ // 500 元定金购买模式
        if ( pay === true ){ // 已支付定金
            console.log( '500 元定金预购, 得到 100 优惠券' );
        }else{ // 未支付定金,降级到普通购买模式
            if ( stock > 0 ){ // 用于普通购买的手机还有库存
                console.log( '普通购买, 无优惠券' );
                }else{
                    console.log( '手机库存不足' );
                    }
                }
            }
            else if ( orderType === 2 ){ // 200 元定金购买模式
                if ( pay === true ){
                    console.log( '200 元定金预购, 得到 50 优惠券' );
                }else{
                    if ( stock > 0 ){
                        console.log( '普通购买, 无优惠券' );
                    }else{
                        console.log( '手机库存不足' );
                    }
                }
            }       else if ( orderType === 3 ){
                if ( stock > 0 ){
                    console.log( '普通购买, 无优惠券' );
                }else{
                    console.log( '手机库存不足' );
                }
            }
        };
        order( 1 , true, 500); // 输出: 500 元定金预购, 得到 100 优惠券

    现在我们采用职责链模式重构这段代码,先把 500 元订单、200 元订单以及普通购买分成 3个函数。
    接下来把 orderType 、 pay 、 stock 这 3个字段当作参数传递给 500元订单函数,如果该函数不符合处理条件,则把这个请求传递给后面的 200元订单函数,如果 200元订单函数依然不能处理该请求,则继续传递请求给普通购买函数,代码如下:

    // 500 元订单
    var order500 = function( orderType, pay, stock ){
        if ( orderType === 1 && pay === true ){
            console.log( '500 元定金预购, 得到 100 优惠券' );
        }else{
            order200( orderType, pay, stock ); // 将请求传递给 200 元订单
        }
    };
    // 200 元订单
    var order200 = function( orderType, pay, stock ){
        if ( orderType === 2 && pay === true ){
            console.log( '200 元定金预购, 得到 50 优惠券' );
        }else{
            orderNormal( orderType, pay, stock ); // 将请求传递给普通订单
        }
    };
    // 普通购买订单
    var orderNormal = function( orderType, pay, stock ){
        if ( stock > 0 ){
            console.log( '普通购买, 无优惠券' );
        }else{
            console.log( '手机库存不足' );
        }
    };
    // 测试结果:
    order500( 1 , true, 500); // 输出:500 元定金预购, 得到 100 优惠券
    order500( 1, false, 500 ); // 输出:普通购买, 无优惠券
    order500( 2, true, 500 ); // 输出:200 元定金预购, 得到 500 优惠券
    order500( 3, false, 500 ); // 输出:普通购买, 无优惠券
    order500( 3, false, 0 ); // 输出:手机库存不足

    可以看到,执行结果和前面那个巨大的 order 函数完全一样,但是代码的结构已经清晰了很多,我们把一个大函数拆分了 3个小函数,去掉了许多嵌套的条件分支语句。


    展开全文
  • web前端开发(一)—HTML基础

    万次阅读 多人点赞 2018-08-10 00:22:21
    web前端简介 什么是HTML? HTML标签 HTML基本结构 HTML 段落标签 HTML 换行标签 HTML标题 HTML 水平线 HTML注释 HTML 标签 HTML 列表标签 HTML表格 HTML超链接 HTML 图片 HTML表单 表单元素-文本、...

     

    目录

    web前端简介

    什么是HTML?

    HTML标签

    HTML基本结构

    HTML 段落标签

    HTML 换行标签

    HTML标题

    HTML 水平线

    HTML注释

    HTML 标签

    HTML 列表标签

    HTML表格

    HTML超链接

    HTML 图片

    HTML表单

    表单元素-文本、密码框

    表单元素-多行文本框

    表单元素-选择框

    表单元素-下拉选择框

    表单元素-按钮

    HTML-div


    web前端简介

    web前端开发是从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HTML5CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。

    学习web前端开发基础技术需要掌握:HTML、CSS、JavaScript语言。下面我们就来了解下这三门技术都是用来实现什么的:

    1. HTML是网页内容的载体内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。

    2. CSS样式是表现就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。

    3. JavaScript是用来实现网页上的特效效果如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。

     

    什么是HTML?

    HTML 指的是超文本标记语言 (Hyper Text Markup Language)

    HTML 不是一种编程语言,而是一种标记语言 (markup language)

    标记语言是一套标记标签 (markup tag)

    HTML 使用标记标签来描述网页

     

    HTML标签

    HTML 标签是由尖括号包围的关键词,比如 <html>

    HTML 标签通常是成对出现的,标签对中的第一个标签是开始标签,第二个标签是结束标签

    http://img.mukewang.com/528960dc0001cb6802710128.jpg

    标签与标签之间是可以嵌套的,但先后顺序必须保持一致,如:<div>里嵌套<p>,那么</p>必须放在</div>的前面。

    http://img.mukewang.com/5289611a0001469c05510206.jpg

     

    HTML基本结构

    一个HTML文件是有自己固定的结构,如下所示:

    <html>

    <head>...</head>

        <body>...</body>

    </html>

    代码讲解:

    1. <html></html>称为根标签,所有的网页标签都在<html></html>中。

    2. <head> 标签用于定义文档的头部,它是所有头部元素的容器。头部元素有<title><script>、 <style><link>、 <meta>等标签,头部标签在之后会详细介绍。

    3. <body></body>标签之间的内容是网页的主要内容,如<h1><p><a><img>等网页内容标签,在这里的标签中的内容会在浏览器中显示出来。

     

    在head中设置网页标题和字符集编码

    <head>

        <title>这里是标题</title>

        <meta charset="utf-8"/>

    </head>

     

    HTML 段落标签

    如果想在网页上显示文章,这时就需要<p>标签了,把文章的段落放到<p>标签中。

    <p>段落 </p>

    <p>标签的默认样式,段前段后都会有空白。

     

    HTML 换行标签

    如果希望在不产生一个新段落的情况下进行换行(新行),请使用 <br /> 标签:

    <p>This is<br/>a para<br/>graph with line breaks</p>

     

    HTML标题

    标题标签一共有6个,h1、h2、h3、h4、h5、h6分别为一级标题、二级标题、三级标题、四级标题、五级标题、六级标题。并且依据重要性递减。<h1>是最高的等级。
    语法: <hx>标题文本</hx> (x为1-6)

    题标签的样式都会加粗,h1标签字号最大,h2标签字号相对h1要小,以此类推h6标签的字号最小。一个标题标签要独占一整行。

     

    HTML 水平线

    <hr /> 标签在 HTML 页面中创建水平线,可用于分隔内容。

    <p>This is a paragraph</p>
     <hr />
    <p>This is a paragraph</p>
    <hr />
    <p>This is a paragraph</p>

     

    HTML注释

    么是代码注释代码注释的作用是帮助程序员标注代码的用途,过一段时间后再看你所编写的代码,就能很快想起这段代码的用途。代码注释不仅方便程序员自己回忆起以前代码的用途,还可以帮助其他程序员很快的读懂你的程序的功能,方便多人合作开发网页代码。

    语法:

    <!--注释文字 -->

     

    HTML <span>标签

    <span>它的作用就是为了结合CSS设置单独的样式用的,本身没有任何效果。

     

    HTML 列表标签

    1)无序列表

    在浏览网页时,你会发现网页上有很多信息的列表,如新闻列表、图片列表,如下图所示。

    http://img.mukewang.com/52d383cd0001085503320216.jpg

    这些列表就可以使用ul-li标签来完成。ul-li是没有前后顺序的信息列表。

    语法:

    <ul>
      <li>...</li>
      <li>... </li>
       ......
    </ul>

    2)有序列表

    如果想在网页中展示有前后顺序的信息列表,怎么办呢?如,当当网上的书籍热卖排行榜,如下图所示。这类信息展示就可以使用<ol>标签来制作有序列表来展示。

    http://img.mukewang.com/52d3884a00014b0702270264.jpg

    语法:
    <ol>
       <li>信息</li>
       <li>信息</li>
       ......
    </ol>

     

    HTML表格

    有时候我们需要在网页上展示一些数据,如某公司想在网页上展示公司的库存清单。如下表:

    http://img.mukewang.com/52d38f0b00017e4305060133.jpg

    想在网页上展示上述表格效果可以使用以下代码:

    http://img.mukewang.com/52d38f83000160be02920445.jpg

    创建表格的四个元素:

    table、tr、th、td

    1、<table>…</table>:整个表格以<table>标记开始、</table>标记结束。

    2、<tr>…</tr>:表格的一行,所以有几对tr 表格就有几行。

    3、<td>…</td>:表格的一个单元格,一行中包含几对<td>...</td>,说明一行中就有几列。

    4、<th>…</th>:表格的头部的一个单元格,表格表头。

    5、表格中列的个数,取决于一行中数据单元格的个数。

    表格标题

    <caption> 指定表格标题,它显示在表格上方。

         语法:

    <table>

        <caption>标题文本</caption>

        <tr>

            <td>…</td>

            <td>…</td>

            …

        </tr>

    </table>

     

    合并单元格

    有时候一些行和列需要合并,如下:

    合并行使用rowspan属性,合并列使用功能colspan属性。

     

     

     

    HTML超链接

    使用<a>标签可实现超链接,它在网页制作中可以说是无处不在,只要有链接的地方,就会有这个标签。

    语法:

    <a  href="目标网址"  title="鼠标滑过显示的文本">链接显示的文本</a>

    例如:

    <a  href="http://www.baidu.com"  title="点击进入百度">click here!</a>

     

    上面例子作用是单击click here!文字,网页链接到http://www.baidu.com这个网页。

    title属性的作用,鼠标滑过链接文字时会显示这个属性的文本内容。这个属性在实际网页开发中作用很大,主要方便搜索引擎了解链接地址的内容(语义化更友好)

     

    <a>标签在默认情况下,链接的网页是在当前浏览器窗口中打开,有时我们需要在新的浏览器窗口中打开。

    如下代码:

    <a href="目标网址" target="_blank">click here!</a>

     

    HTML 图片

    在网页的制作中为使网页炫丽美观,肯定是缺少不了图片,可以使用<img>标签来插入图片。

    语法:

    <img src="图片地址" alt="下载失败时的替换文本" title = "提示文本">

    举例:

    <img src = "myimage.gif" alt = "My Image" title = "My Image" />

    讲解:

    1、src:标识图像的位置;

    2、alt:指定图像的描述性文本,当图像不可见时(下载不成功时),可看到该属性指定的文本;

    3、title:提供在图像可见时对图像的描述(鼠标滑过图片时显示的文本);

    4图像可以是GIF,PNG,JPEG格式的图像文件。

     

     

     

    HTML表单

    网站怎样与用户进行交互?答案是使用HTML表单(form)。表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。

    <form   method="传送方式"   action="服务器文件">

    讲解:

    1.<form> <form>标签是成对出现的,以<form>开始,以</form>结束。

    2.action 浏览者输入的数据被传送到的地方,比如一个PHP页面(save.php)。

    3.method  数据传送的方式(get/post)。

    <form    method="post"   action="save.php">

            <label for="username">用户名:</label>

            <input type="text" name="username" />

            <label for="pass">密码:</label>

            <input type="password" name="pass" />

    </form>

    注意:

    1、所有表单控件(文本框、文本域、按钮、单选框、复选框等)都必须放在 <form></form> 标签之间(否则用户输入的信息可提交不到服务器上哦!)。

    2、method : post/get

     

    表单元素-文本、密码框

    当用户要在表单中键入字母、数字等内容时,就会用到文本输入框。文本框也可以转化为密码输入框

    语法

    <form>

       <input type="text/password" name="名称" value="文本" />

    </form>

    1、type:

       当type="text"时,输入框为文本输入框;

       当type="password"时, 输入框为密码输入框。

    2、name:为文本框命名,以备后台程序ASP 、PHP使用。

    3、value:为文本输入框设置默认值。(一般起到提示作用)

    举例:

    <form>

      姓名:

      <input type="text" name="myName">

      <br/>

      密码:

      <input type="password" name="pass">

    </form>

    在浏览器中显示的结果:

    http://img.mukewang.com/52e4e9be000152ca05250275.jpg

     

    表单元素-多行文本框

    当用户需要在表单中输入大段文字时,需要用到文本输入域。

    语法

    <textarea  rows="行数" cols="列数">文本</textarea>

    1、<textarea>标签是成对出现的,以<textarea>开始,以</textarea>结束。

    2cols 多行输入域的列数

    3rows 多行输入域的行数

    4、在<textarea></textarea>标签之间可以输入默认值

    举例:

    <form  method="post" action="save.php">
            <label>联系我们</label>
            <textarea cols="50" rows="10" >在这里输入内容...</textarea>
    </form>

    注意:代码中的<label>标签在本章5-9中讲解。

    在浏览器中显示结果:

    http://img.mukewang.com/52e5b4040001f4af05760367.jpg

     

    表单元素-选择框

    在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html中有两种选择框,即单选框复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选。请看下面的例子:

    语法:

    <input   type="radio/checkbox"   value="值"    name="名称"   checked="checked"/>

    1type:

       当 type="radio" 时,控件为单选框

       当 type="checkbox" 时,控件为复选框

    2value提交数据到服务器的值(后台程序PHP使用)

    3name为控件命名,以备后台程序 ASP、PHP 使用

    4checked当设置 checked="checked" 时,该选项被默认选中

    如下面代码:

    http://img.mukewang.com/52e5f7c60001a23f07360267.jpg

    注意:代码中的<label>标签在本章 5-9 中有讲解。

    在浏览器中显示的结果:

    http://img.mukewang.com/52e5f8010001159804900257.jpg

    注意:同一组的单选按钮,name 取值一定要一致,比如上面例子为同一个名称“radioLove”,这样同一组的单选按钮才可以起到单选的作用。

     

    表单元素-下拉选择框

    下拉列表在网页中也常会用到,它可以有效的节省网页空间。既可以单选、又可以多选。如下代码:

    http://img.mukewang.com/52e604590001ae4005270185.jpg

    讲解:

    1、value:

    http://img.mukewang.com/52e6037300015a9905030165.jpg

    2selected="selected"

    设置selected="selected"属性,则该选项就被默认选中。

    在浏览器中显示的结果:

    http://img.mukewang.com/52e605340001014804520288.jpg

     

    表单元素-按钮

    在表单中有两种按钮可以使用,分别为:提交按钮、重置。这一小节讲解提交按钮:当用户需要提交表单信息到服务器时,需要用到提交按钮

    语法

    <input   type="submit"   value="提交">

    type:只有当type值设置为submit时,按钮才有提交作用

    value按钮上显示的文字

    举例:

    http://img.mukewang.com/52e613350001461604820109.jpg

     

    HTML-div

    在网页制作过程过中,可以把一些独立的逻辑部分划分出来,放在一个<div>标签中,这个<div>标签的作用就相当于一个容器。

    语法:

    <div>…</div>

    确定逻辑部分:

    什么是逻辑部分?它是页面上相互关联的一组元素。如网页中的独立的栏目版块,就是一个典型的逻辑部分。如下图所示:图中用红色边框标出的部分就是一个逻辑部分,就可以使用<div>标签作为容器。

    http://img.mukewang.com/52d38c41000163e210120455.jpg

     

     

    展开全文
  • 前端设计模式

    2019-06-17 00:25:57
    设计模式的定义 设计模式是在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。在不同的编程语言中,对设计模式的实现其实是可能会有区别的。比如java和javascript,在Java这种静态编译型语言中,无法...
  • 前端与UI设计师的区别

    万次阅读 2018-01-28 16:59:07
    表现层即前端设计,说白了也就是视觉设计,再通俗一点也就是Web端展现出来的你可以看到的“美”的东西;结构层就是涉及的前端开发部分,即网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,现在最新的...
  • 以“家乡”为主题的前端网页设计

    万次阅读 多人点赞 2019-06-13 16:47:10
    以“家乡”为主题的前端网页设计 以下是部分首页图片展示 以下是部分代码展示 <div class="container"> <div class="header"> <ul> <li><a href="index....
  • Web前端从初级到高手之路

    万人学习 2018-10-22 21:38:04
    本套课程分为UI设计基础课程、Web前端通用代码与UI交互实现、移动端Web前端与UI实现三个大章节,课程讲述UI设计、Flash、交互设计、HTML5、CSS3、JavaScript等web前端技术。凡是购买本套课程的学员,可以加QQ群: ...
  • 关于UI设计整个PC端页面的框架尺寸和前端的关系, 假如设计的是1280或者是1440.对前端有啥影响?
  • web前端开发和岗位职责

    万次阅读 2018-11-08 14:56:59
    什么是web前端开发和岗位职责? web前端开发通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面设计交互 创建Web页面或app等前端界面呈现给用户的过程。系统的页面...
  • 如果,你天生爱美,对美的事物都要一探究竟,并且喜欢去创造美的事物,无论男女,你就应该去学UI设计; 当然,想成为真正意义上的前端开发人员,小编建议两者都要懂,两者都要会。 如果,你是初涉IT行业的小白,...
  • WEB前端后端简单区别,通俗理解

    万次阅读 多人点赞 2018-01-14 17:14:02
    前端开发和后台开发是有区别的,工作的内容和负责的东西是完全的不同的,以下以网站的开发为例。...网站前端工程师的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并和后端开发工程师配合做网页的数
  • 我对前端开发的简单认识01

    万次阅读 2018-04-09 19:56:44
    目录:1 我对前端开发的概念的理解2 我对网页设计,ui ,前端开发的,理解3 基本的技术知识一、我对前端开发的概念的理解1、前端: 在网络平台上,展示、传递信息给用户,或可以跟用户进行交流的界面。百度百科是这样...
  • web端设计和web前端开发的区别

    千次阅读 2017-07-05 14:17:33
    它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化、SEO和服务器端的基础知识,而且要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器...
  • 3.14 实现将前端页面获取的...3.14.1 设计一个前端页面 3.14.2 设计视图函数 并需要在urls.py中设置路径 展示: 3.14.3 编写一个视图函数将获取数据传入数据库 在urls.py配置路径 展示: 查看数据库: ...
  • web前端开发前景

    万次阅读 2018-09-24 17:53:12
     响应式设计显然是目前web前端开发领域的主要趋势之一,响应式网站设计是一种网络页面设计布局,其理念是:集中创建页面的图片排版大小,可以智能地根据用户行为以及使用的设备环境进行相对应的布局。 趋势二:...
  • 前端网页模板

    千次阅读 2018-06-05 12:29:43
    1. 登录页面设计http://www.sucaihuo.com/templates/102-0-0-0-0-0
  • Web前端工程师-优秀简历汇总

    万次阅读 多人点赞 2015-10-29 16:34:13
    Web前端工程师-优秀简历汇总 1. http://www.linqing07.com/resume.html 2. http://www.flqin.com/#page2
  • web前端与后端的区别

    万次阅读 多人点赞 2018-02-21 21:24:59
    要了解web前后端的区别,首先必须得清楚什么是web前端和web后端。首先:web的本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思。现广泛译作网络、互联网等技术领域。表现为三种形式,即超文本(hypertext)、...
  • Web前端工程师常用的8个工具

    万次阅读 多人点赞 2018-03-23 16:25:39
    HBuilder是专为前端打造的开发工具,具有飞一样的编码、最全的语法库和浏览器兼容数据、可以方便的制作手机APP、最保护眼睛的绿柔设计等特点。支持HTML、CSS、JS、PHP的快速开发。从开放注册以来深受广大前端朋友们...
1 2 3 4 5 ... 20
收藏数 360,691
精华内容 144,276
关键字:

前端设计