layout布局方式的使用建立

这个布局总体感觉还是蛮不错的,虽然在某种程度上让我们失去了一定的代码操控能力,但是,他做的还是很不错的,至少我们用JavaScript的纯原生代码实现起来较为复杂,这样的布局方式同样的遵循了div+CSS的布局方式,不得不说的是,有一些限制css,在操作样式的时候会出现一些小的错误,但也是微不足道的,毕竟只是前台代码,不涉及太多的安全性问题。下面是layout的初步建立方式:

html代码:

<!DOCTYPE html>
<html>
	<head>
		<title>布局组件</title>
		<meta charset="utf-8">
			<!--需要引入的文件(包括自己的文件,一定要把自己的放到最后!)-->
		<script type="text/javascript" src="easyui/jquery.min.js"></script>
		<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
		<script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
		<link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">
		<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
		<script type="text/javascript" src="./js/my.js"></script>
	</head >
	<body>
		<div id="box" style="width: 600px; height: 400px;">
			<div data-options="region: 'north',title: '上北',split: true" style="height: 100px;">
				
			</div>
			<div data-options="region: 'south',title:'下南',split: true" style="height: 100px;">
				
			</div>
			<div data-options="region: 'west',title:'左西',split: true" style="width: 100px;">
				
			</div>
			<div data-options="region: 'east',title:'右东',split: true" style="width: 100px;">
				
			</div>
			<div data-options="region: 'center',title:'中间',split: true">
				
			</div>
		</div>
	</body>
</html>
JS代码:

$(function(){
	$("#box").layout({
		
	});
});

会出现下面所示的布局:

layout布局

在现代前端框架如Vue.js、React等中,“Layout布局路由配置”是指将特定页面结构(即布局)应用到一组相关的视图或组件上的一种机制。通过这种方式,你可以创建一致性的导航栏、侧边菜单或其他共享UI元素,并在此基础上加载动态内容。 ### Vue Router中的实现 #### 创建基础布局文件 首先你需要构建一个基本的HTML模板作为你的主容器,在这个例子里面我们将它命名为`MainLayout.vue`: ```html <template> <div class="main-layout"> <!-- Header部分 --> <header>我是头部</header> <!-- 内容区域放置router-view --> <section> <router-view></router-view> </section> <!-- Footer部分 --> <footer>这里是底部信息</footer> </div> </template> ``` #### 配置routes数组 然后修改 `src/router/index.js` 文件添加相应的route规则: ```javascript import { createRouter, createWebHistory } from 'vue-router' // 导入所有的组件... import MainLayout from '../layouts/MainLayout.vue' const routes = [ { path: '/', component: MainLayout, children:[ // 子路径及对应的具体页面组件 {path:'',component:Home}, {path:'about',component:About} ] }, ]; export default createRouter({ history:createWebHistory(), routes }) ``` 上述设置意味着当访问根目录下的各个链接时,默认会先渲染出包含完整骨架(Header+Footer)在内的整个网页界面;而具体显示哪一块内容则取决于当前URL匹配到了那个子项下所指定的内容页。 对于其他特殊场景比如登录注册页面不需要顶部和底部,则可以单独定义无layout包裹的新路由映射直接指向对应的单页面即可。 ### React Router 中的应用示例 类似地,在react router v6里也可以轻松做到这一点: **建立通用布局(Layout)** ```jsx function Dashboard({children}){ return ( <> <nav>DashBoard Navigation Bar</nav> {children} <footer>CopyRight @ 2024 by 优快云.</footer> </> ) } export default function App() { return( <BrowserRouter> <Routes> {/* 应用于Dashboard内的所有页面 */} <Route element={<Dashboard/>}> <Route exact path="/" element={<HomePage />} /> <Route path="/settings" element={<SettingsPage />} /> </Route> {/* 独立于Dashboard之外的登陆注册 */ } <Route path='/login' element={<LoginPage/>}/> </Routes> </BrowserRouter> ); } ``` 以上介绍了如何基于不同技术栈完成带有一致性外观样式的多级嵌套式网站架构的设计思路和技术要点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值