使用有趣的自定义标记布局页面

今天我们来学习,如何使用有趣的自定义标记来布局页面。有的朋友可能有这样的疑问,自己随便定义的标记浏览器怎么能正确的认识呢?

这里我们就要用到文档的命名空间,那么命名空间又是指什么?

大家知道XML有一个很大的特点就是他的可扩展性。你可以创建你自己的标记或使用别人创建的标记,这里就存在了一个问题,即你所定义的标

记和别人定义的标识有可能相同,但他们各自所表示的意义却不同。

打一个形象的比喻,比如有两个人名字都叫蓝色,一个人在经典,一个人在天涯,如果你要找他们就可以这样说明,天涯:蓝色 、 经典:蓝色,这样就不会混淆了。

命名空间的意义就是要告诉别人这个文档是属于谁的。xhtml是html向xml过渡的产物,这里他也提供给了我们一个命名空间。

看下面的例子,我们命名一个名称为blueidea的前缀,http://bbs.blueidea.com是用来说明命名空间的url。xmlns是指xhtml namespace

代码如下:

<html xmlns:blueidea="http://bbs.blueidea.com">

有意思的是我们甚至可以用中文来做标记(用中文可能会出现编码问题)。这样的文档看起来真的是一目了然。

下面我们定义一个标记叫做“新闻标题”格式因该是“blueidea:新闻标题”

代码如下:

<blueidea:新闻标题>最新更新</blueidea:新闻标题> 
然后用CSS定义他 ,格式:

blueidea\:新闻标题 {

}

需要注意的是我们自定义的标记默认属性,有点象a、span等内联元素。

下面是我写的一个基本布局,(兼容IE5、6、7 FF2 OP9)是不是很有意思,象XML,其实本来自定义标记就是用在xml上地。大家赶紧自己来试一下吧,因为很多东西都是自己从实践中摸索出来的。

* {
padding:0;
margin:0
}
body{
text-align:center;
}
blueidea\:页面上部 {
position:relative;
display:block;
margin:0 auto;
width:700px;
height:150px;
border-bottom:3px solid orange;
background:black
}
blueidea\:主体部分 {
display:block;
margin:0 auto;
width:700px;
text-align:left;
background:#eee
}
blueidea\:主体部分 blueidea\:主体左侧 {
display:block;
width:220px;
height:500px;
border-right:1px solid #ddd;
background:#f3f3f3
}
blueidea\:新闻标题 {
display:block;
padding-left:5px;
height:25px;
line-height:25px;
background:#ccc
}
blueidea\:新闻列表 {
display:block;
list-style:none;

height:160px;
background:#eee
}
blueidea\:页面下部 {
display:block;
margin:0 auto;
width:700px;
height:100px;
background:black
}
blueidea\:站点标志 {
position:absolute;
top:20px;
left:20px;
padding-top:2px;
display:block;
width:90px;
height:31px;
background:#eee
}
blueidea\:导航菜单 {
position:absolute;
top:124px;
left:300px;
display:block;
}
blueidea\:导航菜单 a {
float:left;
margin-left:2px;
width:60px;
height:25px;
font:12px/25px 宋体;
color:white;
text-decoration:none;
border:1px solid orange;
border-bottom:0;
}
blueidea\:导航菜单 a:hover {
border:1px solid #FDE201;
border-bottom:0;
}
blueidea\:页面 {
border:1px solid #FDE201;
}

home
work
contact

最新更新

  • ·aaaaaaaaaaa
  • ·aaaaaaaaaaa
  • ·aaaaaaaaaaa
  • ·aaaaaaaaaaa
  • ·aaaaaaaaaaa
  • ·aaaaaaaaaaa
  • ssssss
    ssssss
    ssssss

    [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

    (0)

    相关推荐

    • 使用有趣的自定义标记布局页面

      今天我们来学习,如何使用有趣的自定义标记来布局页面.有的朋友可能有这样的疑问,自己随便定义的标记浏览器怎么能正确的认识呢? 这里我们就要用到文档的命名空间,那么命名空间又是指什么? 大家知道XML有一个很大的特点就是他的可扩展性.你可以创建你自己的标记或使用别人创建的标记,这里就存在了一个问题,即你所定义的标 记和别人定义的标识有可能相同,但他们各自所表示的意义却不同. 打一个形象的比喻,比如有两个人名字都叫蓝色,一个人在经典,一个人在天涯,如果你要找他们就可以这样说明,天涯:蓝色 . 经典:蓝

    • 浅谈ASP.NET Core 2.0 布局页面(译)

      本文介绍了ASP.NET Core 2.0 布局页面,分享给大家,具体如下: 问题 如何在ASP.NET Core 2.0项目中共享可见元素.代码块和指令? 答案 新建一个空项目,首先添加GreetingService服务和UserViewModel模型: public interface IGreetingService { string Greet(string firstname, string surname); } public class GreetingService : IGre

    • 简述angular自定义过滤器在页面和控制器中的使用

      AngularJS另一个特点就是提供了过滤器,可以通过操作UNIX下管道的方式,操作数据结果. 通过使用管道,可以便于双向的数据绑定中视图的展现. 过滤器在处理过程中,将数据变成新的格式,而且可以使用管道这种链式风格,还能接受附加的参数. 首先设置自定义过滤器. 定义模块名:angular .module('myApp') .filter('filterName',function(){ return function(要过滤的对象,参数1,参数2,...){ return Obj; //这里返

    • Laravel5.1自定义500错误页面示例

      本文实例讲述了Laravel5.1自定义500错误页面的方法.分享给大家供大家参考,具体如下: Laravel 5.1中500错误是程序错误,程序错误一定是系统自带的500错误,可以通过以下步骤简单实现自定义500错误页面. 编辑PHP文件app/Exceptions/Handler.php内容如下: public function render($request, Exception $e) { if ($e instanceof ModelNotFoundException) { $e =

    • Android自定义listview布局实现上拉加载下拉刷新功能

      listview实现上拉加载以及下拉刷新的方式有很多.下面是我写的一种自定义的布局,复用性也比较的强.首先就是继承的listview的自定义view.   AutoListView.Java: package com.example.mic.testdemo.view; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.os.Bu

    • 微信小程序自定义组件传值 页面和组件相互传数据操作示例

      本文实例讲述了微信小程序自定义组件传值 页面和组件相互传数据操作.分享给大家供大家参考,具体如下: 要想在组件中调到页面中的方法,并且想要组件中传数据到页面去,emmmm,可以酱紫: 用组件事件 triggerEvent! 首先,在页面中定义组件 ,json文件中记得加上: { "usingComponents": { "user-btn": "/pages/component/userInfo/userInfo" } }, 然后,index.w

    • Django框架之登录后自定义跳转页面的实现方法

      Django auth 登陆后页面跳转至/account/profile,修改跳转至其他页面 这几天在学习django,django功能很强大,自带的auth,基本可以满足用户注册登陆登出,简单的用户注册登陆系统使用django auth足矣.当然也不是拿来就能用的,需要自己写登陆页面的模板,也很简单.自己尝试了一下,发现一个问题,当验证登陆成功后,页面会自动跳转到/account/profile,我并不想把页面跳转到这个页面,如何修改呢? 查了一堆网页,还是官网靠谱,很简单,就在project

    • 微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题

      首先我们在pages文件夹下创建components目录用于存放自定义组件.如图所示,以我创建的dialog组件为例,自定义组件的格式与页面一样,分为4个文件. 图1 图2 如上图2所示,假如index页面有一个按钮触发点击事件后弹出dialog,并且当点击某个部门时,将dialog关闭,并将部门名称与红色标题同步. 一.首先把dialog组件的样式写好,并在index页面相应的位置引用.以下就是代码啦(分别为:wxml.wxss.js.json) <view class='wx_dialog_

    • Python flask框架实现浏览器点击自定义跳转页面

      代码如下 _init_.py from flask import Flask, request, url_for, redirect, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/cool_form', methods=['GET', 'POST']) def cool_form(): if request.

    • Android Tablayout 自定义Tab布局的使用案例

      开发公司的项目中需要实现以下效果图,需要自定义TabLayout 中的Tab Tablayout xml <android.support.design.widget.TabLayout android:id="@+id/dialog_mod_icon_tablayout" android:layout_width="wrap_content" android:layout_height="wrap_content" app:tabIndi

    随机推荐