当前位置: 首页 > 编程日记 > 正文

grid布局初试

/*这是HTML*/
<!
DOCTYPE html> <html><head><meta charset="utf-8" /><title>main</title><link rel="stylesheet" href="css/header.css" /><link rel="stylesheet" href="css/aside.css" /></head><body><div id="container"><div class="header" id="header"><div class="header_part1"><div class="w3c_logo">w3schools.com</div><div class="dotcom">THE WORLD'S LARGEST WEB DEVELOPER SITE</div></div><div class="header_part2"><ul class="nav_1"><li>HTML</li><li>CSS</li><li>JAVASCRIPT</li><li>SQL</li><li>PHP</li><li>BOOTSTRAP</li><li>HOWTO</li><li>JQUERY</li><li>W3.CSS</li><li>PYTHON</li><li>MORE</li></ul><ul class="nav_2"><li>REFEPENCES▼</li><li>EXAMPLES▼</li></ul></div></div><div class="aside"><nav class="aside_nav"><h3 class="left"><span class="left_h2">CSS</span> Responsive</h2><a target="_top" href="css_rwd_intro.asp">RWD Intro</a><a target="_top" href="css_rwd_viewport.asp">RWD Viewport</a><a target="_top" href="css_rwd_grid.asp">RWD Grid View</a><a target="_top" href="css_rwd_mediaqueries.asp">RWD Media Queries</a><a target="_top" href="css_rwd_images.asp">RWD Images</a><a target="_top" href="css_rwd_videos.asp">RWD Videos</a><a target="_top" href="css_rwd_frameworks.asp">RWD Frameworks</a><a target="_top" href="css_rwd_templates.asp">RWD Templates</a><br><h3 class="left"><span class="left_h2">CSS</span> Grid</h2><a target="_top" href="css_grid.asp">Grid Intro</a><a target="_top" href="css_grid_container.asp">Grid Container</a><a target="_top" href="css_grid_item.asp">Grid Item</a><br><h3 class="left"><span class="left_h2">CSS</span> Examples</h2><a target="_top" href="css_templates.asp">CSS Templates</a><a target="_top" href="css_examples.asp">CSS Examples</a><a target="_top" href="css_quiz.asp">CSS Quiz</a><a target="_top" href="css_exercises.asp">CSS Exercises</a><a target="_top" href="css_exam.asp">CSS Certificate</a><br><h3 class="left"><span class="left_h2">CSS</span> References</h2><a target="_top" href="/cssref/default.asp">CSS Reference</a><a target="_top" href="/cssref/css_selectors.asp">CSS Selectors</a><a target="_top" href="/cssref/css_functions.asp">CSS Functions</a><a target="_top" href="/cssref/css_ref_aural.asp">CSS Reference Aural</a><a target="_top" href="/cssref/css_websafe_fonts.asp">CSS Web Safe Fonts</a><a target="_top" href="/cssref/css_animatable.asp">CSS Animatable</a><a target="_top" href="/cssref/css_units.asp">CSS Units</a><a target="_top" href="/cssref/css_pxtoemconversion.asp">CSS PX-EM Converter</a><a target="_top" href="/cssref/css_colors.asp">CSS Colors</a><a target="_top" href="/cssref/css_colors_legal.asp">CSS Color Values</a><a target="_top" href="/cssref/css_default_values.asp">CSS Default Values</a><a target="_top" href="/cssref/css3_browsersupport.asp">CSS Browser Support</a></nav></div><div class="adv"><a href="#header"><img src="img/arc-every8minutes-webstatic-160x600-resize-3HqE6._V504641250_.jpg" /></a></div><div class="main_content"> <p style="text-indent: 2em; font-family: '微软雅黑';"> CSS 中的百分比的应用 阅读 643 收藏 30 2017-05-31 原文链接:blog.5udou.cn 前言 百分比的应用随处可见,但是就一直没有机会去好好总结一下,如今项目中遇到的坑都是当年留的泪,在月底之前终于把这个好久想总结的文章给写完了。1、使用百分比的场合 在目前项目中,最常用百分比的莫过于width和height。其他可以用到百分比的样式包括:border-radius,background-position,font-size,line-height,vertical-align,bottom、left、right、top,transform: translate等。如果上面列举的所有属性你都能够轻松地说出它们的百分比含义,那么估计这篇文章就不大适合你了。接下去我们使用JsFiddle上面的demo来逐个说说这些样式的百分比2、罗列常用的百分比 2.1、width和height 这个最常用也是最简单的了,它们的百分比计算是基于包裹它的父元素的宽和高来计算,比如:其盒子模型如图所示:有一种特殊情况是,父元素没有明确的高度定义,并且子元素使用百分比并且不是绝对定位,那么这时候的百分比等同于auto。于是我们有如下的demo:可以看到父元素的高度是子元素撑起来的,然后子元素的高度不再按照百分比来计算,而是使用了auto值。另外如果子元素是绝对定位的又会如何?再看下面的demo:那么留给大家一个问题: 此时为什么cube的这个块元素的高度计算成了101.89?2.2、margin和padding 这两个属性的百分比就比较有意思了,也是我们经常用错的两个。在CSS盒子模型规范明确提出了其百分比的含义:The percentage is calculated with respect to the width of the generated box's containing block. Note that this is true for 'margin-top' and 'margin-bottom' as well. If the containing block's width depends on this element, then the resulting layout is undefined in CSS 2.1.padding的解释也是类似。上面的意思可以总结出三点:百分比的计算是基于其包含块的宽度 百分比的计算规则适用于margin和padding的四个方向 如果包含块的宽度取决于该元素,那么百分比的使用结果是未定义的。 同样以上面的demo为例子,可以看到cube元素的margin计算得到:6px 18px 6px 18pxpadding同理计算得到0px 12px 0px 12px这时定有童鞋会疑惑,为什么CSS规范的制定者会选择使用包含块的宽度来作为参考值,而不是高度?其实在上面总结的三点中已经有所涉及的了,在我们平时的样式布局中,元素的高度取决于子元素的高度,如果子元素的margin或者padding的百分比又依赖于包含块的高度,那么二者互相依赖,就永远无法得到一个稳定的值,陷入了一种死循环,因此也许是基于这个考虑,CSS的规范中才会提到上面要点的第三点。以上纯属自己的猜测,仅供参考。2.3、border-radius 根据MDN-border-radius的百分比介绍:横轴上的百分比参考的是元素自身的宽度,纵轴上的百分比参考的是元素自身的高度,负值是无效的border-radius的百分比参考值是自身的尺寸,于是你可以经常使用百分比来画出一个圆形来:从上面的例子可以看出border-radius的作用顺序是从top-left开始顺时针依序到bottom-left,缩写规则和margin一样</p><p style="text-indent: 2em;">那么如何理解MDN的那一句话呢?2.4、background-position background-position这个属性允许你在它的包含块中随意移动背景图片(或者渐变),默认值是0 0,这个时候的图片是放在左上角的位置,如下demo:如果使用百分比,那么百分比的计算应该是这样的,假设一个容器的长宽为300X200,图片是150X150,那么当设置background-position: 20% 100%,那么图片新的位置应该是(以左上角为例):(0, 0) => ((400 - 150) * 20%, (200 - 150) * 100%) 也就是移动的结果是(父元素-背景图片)*百分比,这样的设计很符合我们平时排版的思路。2.5、font-size 这个属性的百分比参考值是它的父元素的font-size,没有太多的信息,是比较纯粹的一个百分比。2.6、line-height line-height这个属性的百分比参考的是自身的font-size大小,更多line-height的信息可以参考line-height2.7、vertical-align vertical-align顾名思义是纵向对齐,其参考值是自身的line-height,这三个属性合起来有一个demo可以看看效果:2.8、bottom、left、right、top 定位使用的四个方向值,如果使用百分比的话,参考的是元素包含块的尺寸,这个时候不同于margin或padding,left和right是参照包含块的宽度,bottom和top是参照包含块的高度,我们可以通过下面的demo来看看效果:2.9、transform: translate 在水平或者垂直居中的应用场景中,我最常使用的便是这个平移变换了,轻轻松松的-50%就可以让块元素居中,那么这个百分之50%基于的是什么样的参考值呢?答案便是其自身元素的宽度或者高度,这里的宽度和高度是否包含了padding和border呢?我们使用下面的demo来说说:所以通过这个实例,我们清楚其参考的应该是border-box的尺寸Tips请注意,当百分比值用于可继承属性时,只有结合参照值计算后的绝对值会被继承,而不是百分比值本身</p> </div><div class="footer" style="border-top: 1px solid gainsboro;"><p style="text-align: center; font-size: 15px; margin-top: 100px;">电话:13094587757</p><p style="text-align: center; font-size: 15px;">邮箱:2393790565@qq.com</p><address style="text-align: center; font-size: 15px;">地址:翻斗大街一号胡图图</address></div></div></body></html>
/*CSS*/

* {
margin: 0px;
padding: 0px;
list-style: none;
text-decoration: none;
}
#container{
display: grid;
grid-template-areas:"header header header"
"aside main adv"
"aside footer footer";

grid-template-columns:1fr 6fr 1fr;
grid-template-rows:138px 1fr 205px;
grid-gap:20px; 

min-height: 100vh; /*这个单位:相对于视口的高度。视口被均分为100单位的vh*/ 
}
#container>.header{
grid-area:header;
overflow: hidden;
}
#container>.aside{
grid-area:aside;

}
#container>.adv{
grid-area:adv;
}
#container>.main_content{
grid-area:main;

}
#container>.footer{
grid-area:footer;
}

.header>.header_part1{
display: flex;
flex-direction: row;
justify-content: space-between;

height: 88px;

}

.header>.header_part1>.w3c_logo{
color: #4CAF50;
font-family: arial;
font-size: 37px;
letter-spacing: 3px;

float: left;
padding-left:30px;
padding-top:25px;
overflow: hidden;
}
.header>.header_part1>.dotcom{
float: right;
padding-right:30px;
padding-top:45px;
overflow: hidden;
letter-spacing: 4px;
word-spacing: 8px;
}


.header>.header_part2{
display: flex;
flex-direction: row;
justify-content: space-between;

height: 44px;

color: white;
background-color: gray;

}
.header>.header_part2>.nav_1{
float: left;
}
.header>.header_part2>.nav_2{
float:right;
}
.header>.header_part2>ul>li{

float: left;
line-height: 44px;
padding: 0px 15px;

}
.header>.header_part2>ul>li:hover{
background: black;
}

.aside{
overflow-y: scroll;
overflow-x: visible;
position: sticky;
top: 44px;
height: 675px;
border: 1px solid gainsboro;
background: #f1f1f1 !important;
}
.aside_nav{


}
.aside_nav>h3{
text-align: center;
}
.aside_nav>a{
display: block;
padding: 3px;
text-align: center;
line-height: 1.5;
font-size: 15px;
color: #000000;
}
.aside_nav>a:hover{
background: #cdcdcd;
}

 

以上由三个文件组成:

效果图:

布局:

转载于:https://www.cnblogs.com/zhangjiayimy/p/9790453.html

相关文章:

matlab文件启动位置,matlab中uigetfile()设置默认路径

每次使用uigetfile()函数选择文件路径&#xff0c;默认都是从current folder中选择数据文件&#xff0c;而current folder路径又不是数据文件&#xff0c;那么每次都需要选择径路好几步&#xff0c;繁琐的很。想通过设置current folder路径&#xff0c;使每次运行时uigetfile直…

thinkphp5框架一小时搭建一个php后端(1)

开发环境使用phpstudy 编辑器用sublime 数据库navicat 需要下载composer 先配置好本地域名&#xff0c;然后需要我们将资源引入到项目里面 下载地址www.layui.com. layui框架有很多我们后台开发需要的控件&#xff0c;帮助我们高效完成后台搭建。 先创建我们的入口文件ad…

usb调试模式已打开,adb devices显示List of devices attached 解决办法!纽维K333一键ROOT,获取ROOT权限!...

usb调试模式已打开&#xff0c;adb devices显示老显示List of devices attached 。刚开始以为USB线问题&#xff0c;跟朋友借了一根&#xff0c;未果。 更换其他的机子测试就可以显示设备&#xff0c;但是这部纽维K333 &#xff08;国产机/android 4.1.1&#xff09;却显示不出…

记录每个登陆用户的操作记录

在linux系统的环境下&#xff0c;不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录&#xff0c;可是假如一台服务器多人登陆&#xff0c;一天因为某人误操作了删除了重要的数据。这时候通过查看历史记录&#xff08;命令&#xf…

SRM 563 Div1 500 SpellCards

Description 有n张符卡排成一个队列&#xff0c;每张符卡有两个属性&#xff0c;等级lili和伤害didi。 你可以做任意次操作&#xff0c;每次操作为以下二者之一&#xff1a; 把队首的符卡移动到队尾。使用队首的符卡&#xff0c;对敌人造成di点伤害&#xff0c;并丢弃队首的li张…

一小时Thinkphp后台(2)

之前我们已经写好管理员页面&#xff0c;现在对功能继续实现 基础功能1&#xff1a;对管理进行增删改查 增加 需要在view中新建一个add.html add.html <!DOCTYPE html> <html> <head><title></title><link rel"stylesheet" type…

php的延迟绑定,PHP延迟静态绑定使用方法实例解析

这篇文章主要介绍了PHP延迟静态绑定使用方法实例解析,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下PHP的继承模型中有一个存在已久的问题&#xff0c;那就是在父类中引用扩展类的最终状态比较困难。我们来看一…

java中名词概念的理解

方法的重载&#xff1a;方法名称相同&#xff0c;但参数的类型和个数不同&#xff0c;通过传递参数的个数及类型不同以完成不同功能的方法调用。 例如&#xff1a;System.out.println();属于方法的重载。 方法的重载一定是根据参数类型和个数来判断的。 构造函数&#xff1a;构…

Jquery_评分

Description:星星评分--鼠标移动高亮星星来评分&#xff0c;文字描述也对应改变。 KeyTech:无&#xff0c;熟悉Jquery 主要代码: var oContent ["极差", "很差", "一般" , "推荐" , "力荐"];/*定义评价数组*/ var oDiv …

L1-023 输出GPLT (C++解决,含题解)

给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序&#xff0c;按GPLTGPLT....这样的顺序输出&#xff0c;并忽略其它字符。当然&#xff0c;四种字符&#xff08;不区分大小写&#xff09;的个数不一定是一样多的&#xff0c;若某种字符已经输出完&…

php要求掌握链表结构吗,PHP 链表结构之单链表(一)

php链表结构&#xff0c;单链表(一)单链表结构&#xff0c;我们这边定义一个节点类&#xff0c;属性有当前值(data)和指向下一个节点的(next)class ListNode {public $data NULL;public $next NULL;public function __construct(string $data NULL) {$this->data $data;…

使用 Sticky-Kit 实现基于 jQuery 的元素固定效果

元素固定效果在网页中应用得很多&#xff0c;比较常见的使用场景有改进导航&#xff0c;显示广告。Sticky-Kit 是一个非常方便的 jQuery 插件&#xff0c;简化了创建/管理粘元素&#xff0c;有复杂的使用功能。这些功能包括&#xff1a;处理多个固定元素&#xff0c;启用/禁用的…

java中的Random()注意!

Random 类专门用于生成一个伪随机数&#xff0c;他有两个构造函数&#xff1a;一个构造函数使用默认的种子&#xff0c;另一个构造函数需要程序员显示传入一个long 类型的种子。同时他提供了很多方法来生成伪随机数。即如果类的两个实例时用同一个种子创建的&#xff0c;对他们…

狄利克雷卷积莫比乌斯反演证明

狄利克雷卷积简介 卷积这名字听起来挺学究的&#xff0c;今天学了之后发现其实挺朴实hhh。 卷积&#xff1a; “&#xff08;n&#xff09;”表示到n的一个范围。 设\(f,g\)是两个数论函数&#xff08;也就是说&#xff0c;以自然数集为定义域的复数值函数&#xff09;&#xf…

L1-027 出租 (C++暴力解法)

L1-027 出租 (20 分) 下面是新浪微博上曾经很火的一张图&#xff1a; 一时间网上一片求救声&#xff0c;急问这个怎么破。其实这段代码很简单&#xff0c;index数组就是arr数组的下标&#xff0c;index[0]2 对应 arr[2]1&#xff0c;index[1]0 对应 arr[0]8&#xff0c;index[…

oracle9i安装不上,终于成功安装oracle9i了(Cent OS 4.0+oracle9204)

本来没想过要做这个总结的&#xff0c;但就安装个数据库来说&#xff0c;在linux下安装oracle简直就是折磨人&#xff0c;它不难&#xff0c;但就是要很细心(&#xff1d;繁琐)&#xff1a;操作系统&#xff1a;Cent OS&#xff0d;4ISOs(相当于RedHat Enterprise linux 4.0)or…

UESTC 1811 Hero Saving Princess

九野的博客&#xff0c;转载请注明出处 http://blog.csdn.net/acmmmm/article/details/11104265 题目链接 &#xff1a;http://222.197.181.5/problem.php?pid1811 题意&#xff1a;T个测试数据 n m //n个点 m条边 m条无向边 que//下面有que个数据 a b // 表示a点的钥匙在b中…

VC:其他控件(CProgressCtrl、CScrollBar、CDateTimeCtrl、CMonthCalCtrl)

1、进度条 m_progressCtrl.SetRange(0,100); for(int i0;i<100;i) { m_progressCtrl.SetPos(i); Sleep(100); } AfxMessageBox("进度条到达终点"); 2、滑块控件&#xff1a;添加WM_VSCROLL消息。 void COtherCtrlDlg::OnHScroll(UINT nSBCode, UINT nPos, CScroll…

获取checkbox所选中的值

<input name"demand" type"checkbox" value"222" />//获取所有name为demand的对象var obj document.getElementsByName(demand);var demand ;for (var i 0; i < obj.length; i) {if (obj[i].checked) {demand obj[i].value ,;//如…

oracle plsql开启并行,Oracle开启并行的几种方法

并行执行是同时开启多个进程/线程来完成同一个任务&#xff0c;并行执行的每一个进程/线程都会消耗额外的硬件资源&#xff0c;所以并行执行的本质就是以额外的硬件资源消耗来换取执行时间的缩短。这里的额外硬件资源消耗是指对数据库服务器上多个CPU、内存、从个I/O通道&#…

L1-044 稳赢 (暴力法)

L1-044 稳赢 (15 分) 大家应该都会玩“锤子剪刀布”的游戏&#xff1a;两人同时给出手势&#xff0c;胜负规则如图所示&#xff1a; 现要求你编写一个稳赢不输的程序&#xff0c;根据对方的出招&#xff0c;给出对应的赢招。但是&#xff01;为了不让对方输得太惨&#xff0c;…

一些有用的webservice

http://developer.51cto.com/art/200908/147125.htm 下面总结了一些常用的Web Service&#xff0c;是平时乱逛时收集的&#xff0c;希望对大家有用。 天气预报Web Service&#xff0c;数据来源于中国气象局 Endpoint Disco WSDL IP地址来源搜索Web Service&#xff08;是目前…

TSQL语句中的Like用法

SQL Server&#xff1a;SQL Like 的特殊用法 %&#xff1a;匹配零个及多个任意字符&#xff1b; _&#xff1a;与任意单字符匹配&#xff1b; []&#xff1a;匹配一个范围&#xff1b; [^]&#xff1a;排除一个范围 SymbolMeaninglike 5[%]5%like [_]n_nlike [a-cdf]a, b, c, d…

MySQL数据类型

--------MySQL常用数据类型概括&#xff1a; #1. 数字&#xff1a;整型&#xff1a;tinyint int bigint小数&#xff1a;float &#xff1a;在位数比较短的情况下不精准double &#xff1a;在位数比较长的情况下不精准decimal&#xff1a;&#xff08;如果用小数&#xff0c;…

L1-047 装睡 (结构体解决)

L1-047 装睡 (10 分) 你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏&#xff0c;你可以发现谁在装睡&#xff01;医生告诉我们&#xff0c;正常人睡眠时的呼吸频率是每分钟15-20次&#xff0c;脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏&am…

sum_series() 求一列数的指定个数的数和(5个数字的和)

1 #include <stdio.h>2 #include <stdarg.h>3 /*用sum_series() 求一列数的指定个数的数和(5个数字的和)*/4 double sum_series(int num, ...);5 6 int main()7 {8 double s;9 s sum_series(5, 0.5, 0.25, 0.125, 0.06254, 2.0); 10 printf("Sum…

oracle创建用户名授权,oracle创建用户及授权创建表

----Oracle 用户、对象权限、系统权限--建立表空间和用户的步骤&#xff1a;用户建立&#xff1a;create user 用户名 identified by "密码";授权&#xff1a;grant create session to 用户名;grant create table to 用户名;grant create tablespace to 用户名;gra…

过滤器、拦截器、aop的先后顺序和作用范围&拦截器preHandle(),postHandle(),afterComplation()方法执行顺序

在Spring框架中,过滤器(Filter)、拦截器(Interceptor)和面向切面编程(AOP)都是用于处理请求和处理流程的组件,但它们的作用范围和触发时机有所不同。下面我会解释这三者的先后顺序和作用范围。执行顺序:请注意,这个顺序可能因具体的配置和使用的技术而有所不同。在实际应用中,建议根据项目的具体需求来合理配置和使用这些组件。拦截器执行流程图:实现拦截器需要实现这个接口,这个 接口中有三个默认方法,这三个方法的执行顺序:我们实现接口然后重写这三个方法,就会在对应的时机被自动执行。这里就是调用处理

[IoC容器Unity]第四回:使用范例

1.引言  前面几个章节介绍了Unity的基本使用&#xff0c;主要分为程序和配置文件两种方法的使用&#xff0c;可以参考一下链接&#xff0c; [IoC容器Unity]第一回&#xff1a;Unity预览[IoC容器Unity]第二回&#xff1a;Lifetime Managers生命周期[IoC容器Unity]第三回&#x…

Zookeeper概要、协议、应用场景

Zoopkeeper提供了一套很好的分布式集群管理的机制,就是它这种基于层次型的目录树的数据结构并对树中的节点进行有效管理,从而可以设计出多种多样的分布式的数据管理模型,作为分布式系统的沟通调度桥梁。