title: Django 的母板及布局(Bootstrap)

tags: Django

Django 的母板及布局(Bootstrap)

Django 的母板是作为公共的部分,其他的页面都能利用这个页面,并在其基础上进行添加

Django 的母板中可以嵌入3部分

  • css
  • content
  • js

母板的形式:

{% block css %}{% endblock %}
<body>
...
<body/>
{% block content %}{% endblock %}
{% block js %}{% endblock %}

子板中继承母板的内容

{% block css %}
<link rel="stylesheet" href="/static/css/classcomments.css" />
{% endblock %} {% block content %}
<body>
子板中添加的内容...
<body/>
{% endblock %} {% block js %}
子板自己的js
{% endblock %}

Bootstrap布局

文件中有两种,一种是bootstrap.css,这种是用于调试的文件。另一种是min,是经过压缩的版本,最后是应用于生产环境的。

Bootstrap主要应用于css布局,丰富的组件。图标,在图标不够用的情况下,使用font-awesome,使用方法是一样的。

引入Bootstrap和Font-awesome的方法,和引入css文件一致

    <link rel="stylesheet" href="/static/plugins/bootstrap-3.3.7-dist/css/bootstrap.css"/>
<link rel="stylesheet" href="/static/plugins/font-awesome-4.7.0/css/font-awesome.css" />

后台管理的布局

页面布局

页面的整体布局分为3部分,头部,左侧菜单,右侧内容

css样式的编写

关键点:

  • 头部使用min-width设置窗口变小的时候出现滚动条
  • line-height设置居中和整体的高度是一致的
  • text-alian:center 设置水平居中
  • 左侧菜单设置绝对定位absolute后可以设置山下左右的具体位置,这里是让菜单栏一直在左侧
  • 为了达到菜单栏一直在左侧,右侧内容content设置overflow:scroll,右侧内容溢出后出现滚动条
  • 内联标签不能用padding 设置成inline block
  • 个人信息div使用z-index 设置的值高于content
  • 父标签设置的是relative 子标签就可以用absolute进行定位
  • hover只对标签本身及其子元素生效 上面的设置了none
   .pg-header .avata:hover .user-info  这个是hover后进行的操作
<style>
body{
margin: 0 auto;
}
.left{
float: left;
}
.right{
float: right;
}
.hide{
display: none;
}
.pg-header{
height: 48px;
min-width: 1190px; /*宽度默认是100%小于1190px出现左右滚动条 */
background-color: dodgerblue;
line-height: 48px;/*设置居中*/
}
.menus{
width: 200px;
{# float: left;#}
position: absolute;/*绝对定位*/
background-color: #dddddd;
border-right: 1px solid #46b8da;
left:0;
top: 48px;
bottom: 0;
}
.content{
float: left;
{# background-color: red;#}
position: absolute;
left:200px;
right: 0;
top: 48px;
bottom:0;
overflow: scroll;/*内容溢出后会滚动*/
z-index: 99;/*主要是要低于个人信息*/
}
.pg-header .logo{
width: 199px;
text-align: center;
border-right: 1px solid gray;
color: white;
font-size: 18px;
}
.pg-header .rmenus a{
display: inline-block;
padding:0 15px;/*内联标签不能用padding 设置成inline block*/
color: white;
}
.pg-header .avata{
padding: 0 20px; /*设置左右的边距*/
}
.pg-header .avata img{
border-radius: 50%;/*设置头像为圆形*/
}
.pg-header .avata .user-info{
display: none;
background-color: white;
border: 1px solid #dddddd;
position: absolute;/*父标签设置的是relative 子标签就可以用absolute进行定位*/
top: 48px;
right: 3px;
width: 200px;
z-index: 100; /*要高于content*/ }
.pg-header .avata:hover .user-info{
display: block;/*hover只对标签本身及其子元素生效 上面的设置了none */
}
.pg-header .avata .user-info a{
display: block; /*设置成块级标签 效果是上下*/
} .pg-body .menus a{
display: block;
padding:10px 5px;
}
</style>

Bootstrap 响应式布局

Django 的母板及布局(Bootstrap)的更多相关文章

  1. [布局]bootstrap基本标签总结2

    缩略图 <div class="container"> <div class="row"> <div class="co ...

  2. [布局] bootstrap基本标签总结

    文件头: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <titl ...

  3. django的母板系统

    一.母板渲染语法 1.变量 {{ 变量 }} 2.逻辑 {% 逻辑语 %} 二.变量 在母板中有变量时,母板引擎会去反向解析找到这个传来的变量,然后替换掉. .(点),在母板中是深度查询据点符,它的查 ...

  4. django的母板和继承

    Django模板中只需要记两种特殊符号: {{  }}和 {% %} {{ }}表示变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作. 母板 <!DOCTYPE html> & ...

  5. django管理界面使用与bootstrap模板使用

    一.bootstrap模板使用 1.去bootstrap官网找一个合适的模板,下载下来,右键另存为即可 bootstrap官网---->bootstrap中文文档3-------->起步- ...

  6. Django——静态文件(如bootstrap)的配置

    静态文件如CSS, javascript(如bootstrap), 图片等文件在django中的配置官方文档写的比较模糊,自己通过实验验证后并整理如下,以防遗忘,目前只整理了关于本地开发中的设置方式, ...

  7. rem 自适应布局 bootstrap 移动端适配

    移动端适配用:rem 自使用布局用:bootstrap

  8. 响应式布局 Bootstrap

    github介绍 (1)简单灵活可用于架构流行的 用户界面和交互接口 的html.css.javascript工具集 (2)基于html5.css3的bootstrap,具有大量的诱人特征: 友好的学 ...

  9. 响应式布局 Bootstrap(01)

    1.是什么?Bootstrap,来自 Twitter,是目前最受欢迎的前端框架,Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷 Boot ...

随机推荐

  1. codeforces358D Dima and Hares【dp】

    从本质入手,这个东西影响取值的就是相邻两个哪个先取 设f[i][0/1]为前i个(i-1,i)中先取i/i-1的值(这里不算上i的贡献 转移就显然了,注意要先复制-inf #include<io ...

  2. 编译最新linux内核(version 4.4.2)

    环境:centos6.4 内核版本为2.6.32 目标:编译4.4.2内核,升级到 4.4.2 准备工作: 安装开发库和ncurses库 # yum groupinstall "Develo ...

  3. Django + Vue cli 3.0 访问静态资源问题

    [问题背景] 用Vue clie 3.0的搭建得框架把我坑死了,在打包后,调用不到静态资源js,css,mp3等 [问题原因] vue cli 3.0打包后,dist目录下没有static目录,而Dj ...

  4. thinkPHP5 tablib标签库自定义方法

    具体可以参照thinkphp\library\think\template\taglib\Cx.php这里面的写法我在common模块下新建了一个文件夹taglib,新建了一个Test.php文件 n ...

  5. STP-7-RSTP的BPDU格式和处理方式的改变

    RSTP只使用一种BPDU,协议版本字段为2(STP为0). STP标志字段8位只使用了两位:TC(拓扑变化)和TCA(拓扑变化确认). RSTP也使用了其余6位:提议位,端口角色位,学习位,转发位, ...

  6. vue中声明式导航和编程式导航

    官方文档:https://router.vuejs.org/zh-cn/essentials/navigation.html 声明式导航和编程式导航 共同点: 都能进行导航,都可以触发路由,实现组件切 ...

  7. Js $.merge() 函数(合并两个数组内容到第一个数组)

    定义和用法 $.merge() 函数用于合并两个数组内容到第一个数组. 语法 $.merge( first, second )   参数 描述 first Array类型 第一个用于合并的数组,合并后 ...

  8. H.天神的密码

    链接:https://ac.nowcoder.com/acm/contest/903/H 题意: 2018年,icebound打开了神殿.而在2019年,icebound正在试图破解天神的密码,以期获 ...

  9. ADC中的滤波算法

    STM32的AD最大输入时钟不超过14MHZ,最高采样速度1us,可以采用DMA或者内部的基本定时器/高级定时器来触发,利用模拟看门狗监控所选择的的所有通道,如果超过模拟的 阀[fá] 值,将产生中断 ...

  10. HDU 1069 Monkey and Banana DP LIS变形题

    http://acm.hdu.edu.cn/showproblem.php?pid=1069 意思就是给定n种箱子,每种箱子都有无限个,每种箱子都是有三个参数(x, y, z)来确定. 你可以选任意两 ...