精华内容
下载资源
问答
  • 并且从性能上考虑的话,估计也没有直接使用绑定数据源的高(自己估计没有实际测试) 这几天正好又要使用一个TreeView来做一个栏目导航,我就尝试了一下使用层叠结构数据源来绑定数据。现在我们一起来研究一下整个...
     
    

    以前使用Treeview服务端控件来展示目录树或者权限树的时候,都是直接使用遍历来填充节点的,这样做很大的劣势就是每使用一次就需要重新写一次遍历的代码,复用性非常的低。并且从性能上考虑的话,估计也没有直接使用绑定数据源的高(自己估计没有实际测试)

    <?XML:NAMESPACE PREFIX = O />

     

    这几天正好又要使用一个TreeView来做一个栏目导航,我就尝试了一下使用层叠结构数据源来绑定数据。现在我们一起来研究一下整个绑定过程,绑定结束后,有个小问题,还要和大家一起研究讨论下。

     

    (可能已经有很多人尝试绑定xml之类的数据源了,今天我说的直接绑定的一个Datatable或者List。在绑定过程中,我百度,我google了很多,但没有找到一个理想的答案,估计目前大家用这种绑定的比较少吧。比较接近的有一篇有参考价值的文章,大家可以参考下。点击打开)

     

    以下是使用到的数据库的结构,其中没有使用到的字段我没有贴出来。

     

    data.jpg

    以下是自定义的层叠结构的代码,实现了某些接口,具体大家看代码。其中的
    ChannelInfo是我使用到的一个目录实体类,结构如上面的数据库结构。

     

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using Entity;
    using DataLogic;

    /// 
    /// 层叠数据源的使用
    /// 作者:房客
    /// Blog:http://sxlfybb.cnblogs.com
    /// 

    public class ChannelData: IHierarchyData
    {
        
    private List<ChannelInfo> _list = null;
        
    private ChannelInfo _info = null;

        
    public List<ChannelInfo> ChannelInfoList
        
    {
            
    set { _list = value; }
        }

        
    public ChannelInfo ChanInfo
        
    {
            
    set { _info = value; }
        }

        
    public ChannelData(ChannelInfo info,List<ChannelInfo> list)
        
    {
            _list 
    = list;
            _info 
    = info;
        }


        
    public bool HasChildren
        
    {
            
    get {
                
    foreach (ChannelInfo info in _list)
                
    {
                    
    if (info.PID == _info.CID)
                        
    return true;
                }

                
    return false;
            }

        }

        
    public string Path
        
    {
            
    get return _info.ChannelUrl; }
        }

        
    public object Item
        
    {
            
    get 
            
    {
                
    return _info;
            }

        }


        
    public string Type
        
    {
            
    get return _info.GetType().ToString(); }
        }


        
    public IHierarchyData GetParent()
        
    {
            
    foreach (ChannelInfo info in _list)
            
    {
                
    if (info.CID == _info.PID)
                    
    return info as IHierarchyData;
            }

            
    return null;
        }


        
    public IHierarchicalEnumerable  GetChildren()
        
    {
            List
    <ChannelInfo> list = new List<ChannelInfo>();
            
    if(_info.CID >0)
            
    {
                
    foreach (ChannelInfo info in _list)
                
    {
                    
    if(info.PID == _info.CID)
                    
    {
                        list.Add(info);                    
                    }

                }

            }

            
    return new HierarchicalCollection(list);
        }

    }


    public class HierarchicalCollection:IHierarchicalEnumerable
    {
        
    private List<ChannelInfo> _list = null;
        
    public List<ChannelInfo> ChannelInfoList
        
    {
            
    set { _list = value; }
        }

        
    public HierarchicalCollection(List<ChannelInfo> list)
        
    {
            _list 
    = list;
        }


        
    public IHierarchyData GetHierarchyData(object enumeratedItem)
        
    {
            
    return new ChannelData(enumeratedItem as ChannelInfo, _list);
        }


        
    public System.Collections.IEnumerator GetEnumerator()
        
    {
            
    return _list.GetEnumerator();
        }

    }



    以下是具体绑定的过程。

     

    ,代码结束,我们刷新一下页面,就会发现绑定成功了。

            HierarchicalCollection cdsv = new HierarchicalCollection(Channel.GetChannelList());        
            tv_Channel.DataSource 
    = cdsv;
            TreeNodeBinding bind 
    = new TreeNodeBinding();
            bind.TextField 
    = "ChannelTitle";
            bind.NavigateUrlField 
    = "ChannelUrl";
            bind.Target 
    = "mainFrame";
            bind.SelectAction 
    = TreeNodeSelectAction.Expand;
            tv_Channel.DataBindings.Add(bind);
            tv_Channel.DataBind();



    OK

     
    view.jpg


    等等,发现了什么?是的,有一个小问题,就是我实现的这个类的后遗症。二三级栏目已经成功的附加到一级栏目下面,但是一级栏目把二三级栏目也显示出来了。这就是大问题了。但问题为什么会是这样呢?我尝试了一下,在实现接口
    IHierarchyDataChannelData中,构造函数中,我把该对象应该对应的父编号也传进来,在Item属性中判断当前对象的父编号(PID)是否和传进来的编号一致,如不一致,返回为null。但这样好像也解决不了问题。

     

    好了,大部分功能我也实现,后面的小问题,大家都一起研究一下,如果找到原因了,一定要记得回复,告诉我。谢谢

    展开全文
  • 层叠式顺序结构帧之间的数据不能通过数据线直接传递,要借助局部变量在帧之间传递数据。  添加局部变量:选择右键菜单第3栏的“添加顺序局部变量”选项,在顺序结构边框上出现一个小方块(所有帧程序框的同一位置...
  • 层叠式顺序结构

    2015-10-19 10:36:00
    新建的层叠顺序框只有一帧,如图1所示。可以通过右键快捷菜单添加或删除帧。... 当层叠式顺序结构的帧超过2个时,所有帧的程序框叠在一起,在上边框中间有帧标签,类似于分支结构框,如图2所示。 ...

     新建的层叠顺序框只有一帧,如图1所示。可以通过右键快捷菜单添加或删除帧。在右键菜单第3栏选项中,“在后面添加帧”是在当前帧之后添加一帧;“在前面添加帧”是在当前帧之前添加一帧;“复制帧”是复制当前帧为后一帧;“删除本帧”是删除当前帧,只有一帧时此选项为灰色,不能进行此操作。

      当层叠式顺序结构的帧超过2个时,所有帧的程序框叠在一起,在上边框中间有帧标签,类似于分支结构框,如图2所示。

    层叠式顺序结构的右键快捷菜单图

      图1 层叠式顺序结构的右键快捷菜单

    层叠式顺序结构帧标签图

      图2 层叠式顺序结构帧标签

      此时右键快捷菜单增加了第4栏,如图5-61所示。其中“显示帧”的子菜单和帧标签下拉菜单作用相同;“本帧设置为”将当前帧程序框中所有程序和选中帧中所有程序互换,类似于条件结构右键快捷菜单中的“本分支设置为”选项。

    转载于:https://www.cnblogs.com/lvdongjie/p/4891176.html

    展开全文
  • 层叠式顺序结构帧之间的数据不能通过数据线直接传递,要借助局部变量在帧之间传递数据。  添加局部变量:选择右键菜单第3栏的“添加顺序局部变量”选项,在顺序结构边框上出现一个小方块(所有帧程序框的同一位置...
  • HTML之CSS层叠样式

    千次阅读 2019-08-20 22:03:29
    一、CSS层叠样式概述 CSS :层叠样式(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰...

    一、CSS层叠样式表概述

    CSS :层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
    多个样式可以层层覆盖叠加,如果不同的css样式对同一个html标签进行修饰,样式有冲突的,应用优先级高的,不冲突的样式规则共同作用。

    1.CSS作用

    1. 修饰美化html网页。
    2. 外部样式表可以提高代码复用性从而提高工作效率。
    3. html内容与样式表现分离,便于后期维护。

    2.CSS特点

    1. 丰富的样式定义
      CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离,以及元素边框与元素内容间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果
    2. 易于使用和修改
      CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式声明统一存放,进行统一管理。
      另外,可以将相同样式的元素进行归类,使用同一个样式进行定义,也可以将某个样式应用到所有同名的HTML标签中,也可以将一个CSS样式指定到某个页面元素中。如果要修改样式,我们只需要在样式列表中找到相应的样式声明进行修改。
    3. 多页面应用
      CSS样式表可以单独存放在一个CSS文件中,这样我们就可以在多个页面中使用同一个CSS样式表。CSS样式表理论上不属于任何页面文件,在任何页面文件中都可以将其引用。这样就可以实现多个页面风格的统一。
    4. 层叠
      简单的说,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。例如对一个站点中的多个页面使用了同一套CSS样式表,而某些页面中的某些元素想使用其他样式,就可以针对这些样式单独定义一个样式表应用到页面中。这些后来定义的样式将对前面的样式设置进行重写,在浏览器中看到的将是最后面设置的样式效果。
    5. 页面压缩
      在使用HTML定义页面效果的网站中,往往需要大量或重复的表格和font元素形成各种规格的文字样式,这样做的后果就是会产生大量的HTML标签,从而使页面文件的大小增加。而将样式的声明单独放到CSS样式表中,可以大大的减小页面的体积,这样在加载页面时使用的时间也会大大的减少。另外,CSS样式表的复用更大程序的缩减了页面的体积,减少下载的时间

    3. CSS语法规则

    CSS 规则由两个主要的部分构成:
    (1)选择器
    (2)一条或多条声明

    选择器通常是您需要改变样式的 HTML 元素
    每条声明由一个属性和一个值组成

    语法案例

    选择器{
    	属性:值;
    	属性:值….. 
    }
    <!--全局操作-->
    *{
    	color:red;
    	font-size:14px;
    }
    
    <!--针对某个属性标签操作-->
    div{
    	color:red;
    	font-size:14px;
    }
    
    <!--针对某个代号属性标签操作(微操)-->
    #div1{
    	color:red;
    	font-size:14px;
    }
    

    注意事项

    如果值为若干单词,则要给值加引号;font-family: “黑体”,“华文彩云”,“微软雅黑”,“arial”;
    多个声明之间使用分号;分开
    css对大小不敏感,如果涉及到与html文档一起使用时,class与id名称对大小写敏感
    css注释//

    二、HTML中三种引入CSS形式

    1. 行内样式表(行内引入方式)

    • 【body】下,在当前的标签【div】内使用了【style】属性,在style属性之后的内容都是CSS样式表
    • CSS样式表中也是键值对形式,键值对的分隔符是一个 【:】,而且每一个属性之后都有 【;】结尾
    <div style="color: red;font-family: '隶书';font-size: 30px;">
    	我爱中国
    </div>
    

    2. 内联样式表

    • 在【head】标签内,使用【style】标签,在style标签内都是CSS样式表
    • style标签有一个type属性, text/css 可视化文本的css样式表
    • 在css文件中的注释方式 /**/ 可以作为单行注释,也可以作为多行
    <!--所有p标签可以使用-->
    p {
    	color: green;
    	font-size: 32px;
    	font-family: "仿宋";
    }
    
    <!--操作某一个代号p标签修饰的字段-->
    #p1{
    	color: darkred;
    }
    
    <p id="p1">
    	日照香炉生紫烟
    </p>
    

    3.外联样式表

    • 在【head】标签内使用【link】标签,连接外部的CSS样式表(外部需要构建.css文件)
    • link标签属性
      • -rel: 连接文件的类型
      • type: text/css 可视化文本的css文件
      • href: CSS文件所处的路径,可以是本地路径,也可以是网络路径
    <!--CSS文件-->
    table {
    	border: 1px green solid;
    }
    td,th {
    	border: 1px red solid;
    }
    
    <!--html导入-->
    <link href="style.css" rel="stylesheet" type="text/css"/>
    
    <style type="text/css">
    	@import url(main.css);
    	@import url(sheet1.css) all;
    	@import url(print.css) print;
    	h1{color:blue;}
    </style>
    

    优势

    1. 可以满足多个页面的统一化处理,归纳总结思想
    2. 可以提供用户访问网站的速度,外联样式表可以保存在本地,下一次打开网站不需要申请下载CSS样式表
    3. 可以提供公司服务器带宽使用效率,降低带宽需求,可以满足更多的用户

    优先级:内联样式>内部样式>外部样式

    三、CSS选择器

    1.基本选择器

    除了前面提到的通过【标签】和【id】选择,还可以通过Class选择,因为id不能一样,所以只能操作一个标签,而标签选择操作范围又太大,这里便引入了class。

    <style type="text/css">
    		  .s1{color: purple;font-size: 100px}
    		  .s2{color: pink;font-size: 100px}
    		  .s3{color: yellow;font-size: 100px}
    </style>
    
    <div class="s1">hello,everyone!</div>
    <div class="s2">hello,everyone!</div>
    <div class="s3">hello,everyone!</div>
    

    以上基本选择器的优先级从高到低:id >class >标签

    2. 属性选择器

    <style type="text/css">
    	input[type='text'] {
    		background-color: #FAEBD7;
    	}
    	a[href] {
    		background-color: #8A2BE2;
    	}
    </style>
    
    <body>
    	<form name="login" action="#" method="get">
    		<font size="3">用户名:<font> 
    		<input type="text" name="username" value="zhangsan" /> </br>
    	密码: <input type="password" name="password" value="123456" /> </br>
    		<input   type="submit" value="登录"></input>
    	</form>
    	<a href="http://www.baidu.com">百度</a>
    	<a href="http://www.jd.com">京东</a>
    </body>
    

    3. 伪元素选择器

    主要针对a标签使用,一般用于鼠标放到超链接标签上面的结果反映:

    1. a:link 初始状态
    2. a:hover 鼠标经过状态
    3. a:active 激活状态
    4. a:visited 访问后状态

    这里以颜色状态示例:

    a:link {
        color: red;
    }
    a:hover {
        color: green;
    }
    a:active {
        color: yellow;
    }
    a:visited {
        color: blue;
    }
    

    在实际应用中,都是将鼠标放到对应标签,会有下划线显示,表示hover状态,所以,实际使用情况是:(1)设置a (2)a:hover

    a{
    	color: black;
    	font-size: 20px;
    	text-decoration: none;	/*默认下划线清除*/
    }
    a:hover{
    	text-decoration: underline;	/*在hover状态下显示下划线*/
    }
    

    4. 层级选择器

    4.1 列表

    <!--第一个li-->
    ul li:first-child{
    	color: red;
    }
    		   
    <!--最后一个li-->
    ul li:last-child {
    	color:green;
    }
    
    <ul>
    	<li>苹果</li>
    	<li>香蕉</li>
    	<li>榴莲</li>
    </ul>
    

    4.2 后代选择器

    1. div p{…} 表示div中的p标签,所有的p,后代
    2. ​div span{…} 表示div中的span标签,包括所有的span,后代

    4.3 子代选择器

    div>span{…} 表示 div中有一个span, span是子代(只包含直接的后代)

    4.4 相邻兄弟

    /*相邻兄弟,从div位置开始,向后的相邻p标签*/
    div + p {
    	font-size: 50px;
    }
    

    4.5 通用兄弟

    /*从div开始位置向下,所有的p标签*/
    div ~ p {
    	color: aqua;
    }
    

    4.6 其他选择器

    /*全局选择器,对所有标签操作,包括body标签*/
    * {
    	font-size: 35px;
    	margin: 0;
    	padding: 0;
    }
    
    /*群组选择器*/
    h1,h2 {
    	background-color: red;
    }
    

    四、CSS属性

    1.文字属性

    1. font-size:设置字体大小
    2. font-family:设置文字的字体,常见的值为 :黑体,宋体,楷体等
    3. font-style:规定斜体字,常见的值:
      normal - 文本正常显示
      italic - 文本斜体显示 字体斜体
      oblique - 文本倾斜显示 变形斜体
    4. font-weight 属性设置文本的粗细。关键字 100 ~ 900 为字体指定了 9 级加粗度。
      100 对应最细的字体变形,900 对应最粗的字体变形。
      数字 400 等价于 normal,而 700 等价于 bold。
    5. 简写:
     /*style  weight  size  family  swsf*/
    font: italic  bold  30px "幼圆","黑体";
    

    2.文本属性

    1. color:设置文本颜色
    2. text-indent:缩进元素中文本的首行,取值类型如下:
      text-indent:5em;表示此段落第一行缩进5个字符的宽度
      text-indent:20%:表示此段落第一行缩进父容器宽度的百分之二十
    3. text-decoration:
      none:会关闭原本应用到一个元素上的所有装饰
      underline: 添加下划线
      overline:在文本的顶端画一个上划线
      line-through:在文本中间画一个贯穿线,删除线
      blink:让文本闪烁(无效果)
    4. text-align:一个元素中的文本行互相之间的对齐方式,值有left(左对齐)、right(右对齐) 和 center(居中)
    5. word-spacing: 字符之间的间隔
    6. letter-spacing: 单词或者字母之间的间隔
    7. line-height:设置行高 line-height:25px;与父容器高度一样,则是垂直居中

    3. 背景属性

    1. background-color:设置背景颜色,默认透明
    2. background-image:url(“图片路径”):设置背景图片
    3. background-repeat:
      repeat-y:只在垂直方向都平铺
      repeat-x:只在水平方向都平铺
      repeat:在水平垂直方向都平铺
      no-repeat:任何方向都不平铺
    4. background-position: 改变图像在背景中的位置。top、bottom、left、right 和 center
    5. 简写:
    background: red  center no-repeat url(img/003.jpg);
    

    4. 列表属性

    1. list-style-type:decimal;改变列表的标志类型
    2. list-style-image: url(“images/dog.gif”);用图像表示标志
    3. list-style-position: inside;确定标志出现在列表项内容之外还是内容内部
    4. 简写:
    list-style: decimal url(img/001.png) inside;
    
    1. 去掉样式
      list-style:none;
      list-style-type:none;

    5. 尺寸显示轮廓属性

    1. width:设置元素的宽度
    2. height:设置元素的高度
    3. 显示属性(display)
      display: none 不显示
      block:块级显示,有高度和宽度,块标签一行只能一个,不能并排,span可以通过该属性转为block
      inline:行级显示,宽高没效果,但是一行可以多个,div可以通过该属性转为行级
      inline-block:行级块,既能并排,又能调整高宽
    #div1{
    	width: 300px;
    	height: 200px;
    	background-color: #FAEBD7;
    	border: 0px solid darkolivegreen;/*加厚外框,内边框300*200不变*/
    	display: inline-block;/*bolck是块元素,有高度和宽度,块标签一行只能一个,不能并排*/
    }
    #div2{
    	width: 300px;
    	height: 200px;
    	background-color: #556B2F;
    	display: block;
    	display: inline-block;/*inline-block即是块又是行,可以并排显示*/
    }
    
    1. 轮廓(outline)
      绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。
      常用属性:
      outline-style:solid(实线)/dotted(虚线)/dashed(虚线,虚线的每段较长)/double(框为空心);设置轮廓的样式
      outline-color:red;设置轮廓的颜色
      outline-width:10px设置轮廓的宽度

    6. 浮动属性

    浮动(float)的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在标准文档流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
    三个标签块并排显示

    <style type="text/css">
    	#box1 {
    		width: 100px;
    		height: 100px;
    		background-color: #808080;
    		float: left;	//定位属性float
    	}
    	#box2 {
    		width: 100px;
    		height: 100px;
    		background-color: #006400;
    		float: left;
    	}
    	#box3 {
    		width: 100px;
    		height: 100px;
    		background-color: #DEB887;
    		float: left;
    	}
    	#box4 {
    		width: 100px;
    		height: 100px;
    		background-color: #5F9EA0;
    		clear: both;/*前三个块并排,最后一个块另起一行开始,不受影响*/
    	}
    </style>
    

    在这里插入图片描述

    7.定位属性

    postion: static | relative| absolute| fixed

    静态定位(默认定位方式)static,这里不做叙说。

    7.1 相对定位(relative)

    相对于原来的位置偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。

    <style type="text/css">
    	#div1{
    		width:200px;
    		height: 200px;
    		background-color: #556B2F;
    		position: relative;/*相对定位,相对原来的位置*/
    		left:10px;/*会发生碰撞*/
    		top:10px;
    		z-index: -1;/*被挡住,控制层叠位置*/
    	}
    	#div2{
    		width:200px;
    		height: 200px;
    		background-color: #5F9EA0;
    		position: absolute;/*以浏览器的窗口为依据定位*/
    		left:0px;
    		top:0px;
    	}
    </style>
    

    7.2 绝对定位(absolute)

    元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是视窗本身。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
    绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于视窗本身。

    <style type="text/css">
    	#div1{
    		width:200px;
    		height: 200px;
    		background-color: #556B2F;
    		position: relative;/*相对定位,相对原来的位置*/
    		left:10px;/*会发生碰撞*/
    		top:10px;
    		z-index: -1;/*被挡住,控制层叠位置*/
    	}
    	#div2{
    		width:200px;
    		height: 200px;
    		background-color: #5F9EA0;
    		position: absolute;/*以浏览器的窗口为依据定位*/
    		left:0px;
    		top:0px;
    	}
    </style>
    

    7.3 固定定位(fixed)

    元素框的表现类似于将 position 设置为 absolute,不过其位置相对于视窗本身。
    示例如下(网站左下角和右下角广告):

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<style>
    			#left {
    				width: 200px;
    				height: 200px;
    				background-color: red;
    				position: fixed;
    				left: 0;
    				bottom: 0;
    			}
    			
    			#right {
    				width: 200px;
    				height: 200px;
    				background-color: green;
    				position: fixed;
    				right: 0;
    				bottom: 0;
    			}
    			#middle{
    				width: 200px;
    				height: 200px;
    				background-color: blue;
    				position: fixed;
    				left: 0;
    				bottom: 50%;
    			}
    			
    		</style>
    	</head>
    	<body>
    		<div id="left">
    		</div>
    		<div id="right">
    		</div>
    		<div id="middle">
    		</div>
    	</body>
    </html>
    

    五、盒子模型

    盒子模型是由内到外进行的设置,元素内容为初始化尺寸(不变),通过设置内边距、边框等尺寸,使得整个元素尺寸发生变化

    盒子模型是由内到外进行的设置,元素内容为初始化尺寸(不变),通过设置内边距、边框等尺寸,使得整个元素尺寸发生变化

    5.1 内边距属性

    padding-top: 50px;
    padding-left: 10px;
    padding-bottom: 20px;
    padding-right: 100px;
    padding: 50px 100px 150px 200px;

    一个数据: 上右下左都是一个数值
    两个数据: 第一个数据,对应上下,第二个数值 对应左右
    三个数据: 第一个数据对应上,第二个数据对应左右,第三个数据对应下
    四个数据: 顺时针结构,上右下左

    5.2 外边距属性

    同padding,与界面边界或者其他元素之间的平面距离。

    如果两个元素是纵向关系,外边距会产生一个合并关系,就是margin-top,和 margin-bottom合并,这里合并会采取较大的一方,作为两个元素之间的边距。

    margin-top 塌陷
    div2在div1的里面(div1是div2的父标签),在表现效果上,div2会覆盖div1;当div1和div2分别外边距100的时候,首先是按照div1在四个方向移动100,然后div2相对于div1再在四个方向移动100,但是由于margin-top塌陷问题,导致顶部没有变化。

    解决办法

    1. div1添加border属性
    2. 父容器使用【overflow:hidden】,子标签【margin-top相对父容器顶部距离设置】,从而保证子标签在父容器垂直方向居中
    3. 父容器使用【弹性盒子】
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>div的水平居中</title>
    		<style type="text/css">
    			/*使div顶住浏览器的边框*/
    			body{
    				padding: 0;
    				margin: 0;
    			}
    			#div1{
    				/*上下为0,左右自动*/
    				margin: 0 auto;
    				width: 500px;
    				height: 100px;
    				background-color: #5F9EA0;
    				overflow: hidden;
    				/*溢出,当内容超出了盒子大小的时候进行处理,然后子块可以用margin-top调整*/		  
    				/*否则,外框顶部也会移动*/
    			}   
    			#div1-1{
    				margin:0 auto;
    				margin-top: 25px;
    				width: 200px;
    				height: 50px;
    				background-color: #D2691E;
    				/*里面块垂直居中*/		
    			}
    			#div2{
    				/*上下为0,左右自动*/
    				margin: 10px auto;
    				width: 500px;
    				height: 100px;
    				background-color: #008000;
    				/*使用弹性盒子*/
    				display:flex;
    				/*弹性盒子行对齐*/
    				align-items: center;
    				/*弹性盒子两端对齐*/
    				justify-content: center;
    				
    			}
    			#div2-1{
    				width: 200px;
    				height: 50px;
    				background-color: #5F9EA0;
    			}
    		</style>
    	</head>
    	<body>
    		<!--div块在中间-->
    		<div id="div1">
    			<div id="div1-1">
    				
    			</div>
    		</div>
    		<div id="div2">
    			<div id="div2-1">
    				
    			</div>
    		</div>
    	</body>
    </html>
    

    六、CSS3扩展属性

    6.1圆角属性

    border-radius: 25px;
    
    /*半圆*/
    border-radius: 100px 100px  0px 0px;/*左上,右上,左下,右下*/
    
    /* 四分之一圆*/
    border-radius: 100px 0px  0px 0px;/*左上,右上,左下,右下*/
    

    在这里插入图片描述

    6.2 阴影属性

    用于向方框添加阴影

    box-shadow: 10px 10px 5px #888888;
    

    在这里插入图片描述

    6.3 background-size背景图尺寸大小

    <body style="text-align: center;
    	background:url(img/1.png);
    	background-size: 200px 300px;
    	background-repeat: no-repeat;">
    </body>
    

    6.4 text-shadow 文本阴影

    /*第三个数值表示虚化程度*/
    text-shadow: 5px 5px 5px #ffff00;
    
    展开全文
  • 实验六:层叠样式

    2019-01-18 17:20:54
    实验六:层叠样式 1 学时  2学时   实验目的与要求 掌握XML 使用CSS样式的方式。 熟练使用CSS的基本样式编写程序。 学会调试XML和CSS共同运行的程序。 了解创建CSS和XML程序的流程。 了解基本CSS...

                        实验六:层叠样式表

    1 学时  

    2学时

     

    1. 实验目的与要求
    2. 掌握XML 使用CSS样式表的方式。
    3. 熟练使用CSS的基本样式编写程序。
    4. 学会调试XML和CSS共同运行的程序。
    5. 了解创建CSS和XML程序的流程。
    6. 了解基本CSS样式都有哪些。
    7. 学会依据显示结果判断样式有哪些标记需要实现。
    8. 学会调试XML和CSS程序。
    9. 实验环境

    XML SPY

    1. 准备工作

    教师准备实验内容。

    学生掌握CSS的基本概念、文字大小、颜色、分行、分块的显示规则。

    1. 实验内容

    实验1、

    创建一个带有样式的XML文档。

    某公司要招聘一批员工,公司经理要你编写一个XML文档。该文档要求带有招聘岗位、招聘要求、招聘截至日期等。

    实验步骤  

    1. 构思  首先规划一下,编写该XML文档所需要的资源及数据。如手边的XML开发工具,该XML文档应该包含哪些数据,这些数据总的结构是什么,用草稿的形式写出大体的轮廓。每种数据都是以什么样式显示。
    2. 编写XML文档  根据上个步骤所做出的草稿,用XML文档实现,编写好后运行调试。
    3. 编写与XML文档对应的CSS文档  根据第一步所设想的样式在这个步骤中实现时,每种样式需要调用哪些标记。
    4. 调试和运行  如果上面的步骤都完成了,在这个步骤中可以进行调试,实际效果和预想的之间如出现差距、出现问题,应及时调试。

    XML文档

    CSS文档

    实现结果:

     

     

     

    展开全文
  • PCB层叠结构与阻抗计算

    千次阅读 2020-02-27 21:50:48
    如下图,列出两种六层板的层叠结构,两种结构都由四层信号层与一层电源层、一层地层构成,但两种结构信号层的信号完整性性能却完全不同。 (1)结构1 分析 电源层与地层相邻,且距离较近,可以很好地实现...
  •  2)css(层叠样式)---Cascading Style Sheets:在一个网页中主要负责了页面的数据样式。 2.编写css代码的方式:  1)外链式:引人外部的css文件。 -----推荐使用!  A.调用格式1:使用link标签。-----...
  • 数据结构实习报告

    千次阅读 2006-01-13 04:44:00
    中南大学 《数据结构》课程设计 题 目一 运动会记分系统 题 目二 猴子选大王 题 目三 航班订票系统 学生姓名 兰 清 
  • 06-VTK基本数据结构(4)

    千次阅读 2013-02-03 22:05:24
    至此,我们知道,数据集由组织结构和与之关联的属性数据构组成,组织结构包括拓扑结构和几何结构数据集的类型是由它的组织结构决定,同时数据集的类型决定了点和单元之间的相互关系,图6.11列出了常见的数据集类型...
  • CSS:层叠样式 , css+div布局(灵活)  样式: 给HTML添加需要显示的效果.  层叠: 将所有的样式叠加到一起,共同作用于该标签. css格式: 选择器{ 属性1:属性值; 属性2:属性值; ... 属性n:属性值; } 工作...
  • 我的数据结构学习从汉诺塔开始,这个简单的算法我可是整整想了一晚上,现在终于有点明白了,上机单步了几遍,有所了解,,还是写点什么以供以后参考,也希望能对正在学算法的盆友有所裨益······  总得来说...
  • 分散层叠(Fractional Cascading)

    千次阅读 2016-10-28 22:55:53
    一种很简单的方法就是对每个List单独进行一次二分搜索,此时你的所需要的空间就是O(n),也就是只要用有序对原数据进行储存即可。时间复杂度是多少呢? k k 个有序,平均每个列表中有 n / k n/k 个节点,对每个...
  • JLC官方要求的层叠结构如下,以常见的1.6mm板为例: 图1 这里我们选择其中任意一个结构即可,他们的区别就是PP层的厚度不一样。PP和core的区别是:core是基板,材质较硬,可以认为他是板子的主要支撑物,是一...
  • Allegro学习笔记之——层叠

    千次阅读 2012-06-06 14:23:26
    不复杂的电路通常都是用双层板,但电路很复杂时就不得不考虑多层板了,但多层板的开工价格很好,像我画的一块...对于层叠的优点可以参考下面文章   EMI/EMC设计讲座 (共七章)   EMI/EMC 设计讲座(一)P
  • PCB设计指南(2)层叠

    2010-04-15 10:44:00
    PCB设计指南(2)层叠 PCB设计指南(1)PCB板材料PCB设计指南(2)层叠PCB设计指南(3)爬电距离PCB设计指南(4)阻抗受控传输线PCB设计指南(5)参考平面PCB设计指南(6)布线PCB设计指南(7)过孔via 层叠(Layer Stack)实现低...
  • 如果层叠顺序结构有局部变量,则转换成数据连线,如图1所示。  图1 层叠式顺序结构转换为平铺式顺序结构  通过平铺式顺序结构的右键快捷菜单选项“替换为层叠式顺序”,可以将平铺式顺序结构转换为层叠式顺序...
  • 1.样式冲突,遵循就近原则,哪个样式离结构近,就执行哪个样式(覆盖) 2.样式不冲突,不会层叠 继承性 子标签会继承父标签的某些样式,如文本颜色和色号(主要是继承文字方面的样式) 行高的继承: body{ font:12px...
  • 微信小程序wx.navigateTo层叠5次限制

    千次阅读 2018-07-02 17:39:03
    小程序页面的实例使用栈的数据结构存储,栈内元素最多5个(换一种方式说,就是用户最多能点击5次返回),微信小程序能在栈中相对高层某个页面调用其他相对低层的页面实例的方法。小程序三种页面跳转API 的区别在于:...
  • 如果层叠顺序结构有局部变量,则转换成数据连线,如图1所示。  图1 层叠式顺序结构转换为平铺式顺序结构  通过平铺式顺序结构的右键快捷菜单选项“替换为层叠式顺序”,可以将平铺式顺序结构转换为层叠式顺序...
  • 阻抗控制与层叠设计的几个层次

    千次阅读 2016-10-14 11:18:42
    图2所示的层叠方案,其实有很多需要注意的细节,比如:双带线结构的Signal层需要拉大距离,中间连续4个平面层,也要拉大两个Power层之间的距离,减小Ground到Power的距离,等等。这些细节没有控制好,就像第一章说的...
  • 平铺式顺序结构层叠式顺序结构功能相同,不同的是结构中所有帧都是按顺序展开排列而不是叠在一起... 平铺式顺序结构层叠式顺序结构的另一不同点是数据传递方式。由于平铺式顺序结构的所有帧都显示在程序框图窗口中
  • 对于标题布置如何翻译较好; 本文翻译自论文:http://download.csdn.net/download/aq_cainiao_aq/10136946parallel support vector machine:the cascade svmcascade svm的提出是通过并行...数据占用内存多,运行耗时
  • 自然语言处理NLP知识结构

    千次阅读 2018-11-08 15:18:08
    自然语言处理NLP知识结构 文|秦陇纪,数据简化DataSimp 自然语言处理(计算机语言学、自然语言理解)涉及:字处理,词处理,语句处理,篇章处理词处理分词、词性标注、实体识别、词义消歧语句处理句法分析...
  • 注意本系列文件使用环境:ORACLE数据和JDOM1.0版本 总计四篇文件中都使用到以下数据。 Oracle表结构如下: /*此中最关键的就是CID和PID两个字段,其它的跟据需要可以增减字段*/ CREATE TABLE SCOTT.COMPANY ( ...
  • LabVIEW顺序结构

    2021-03-20 23:14:08
    LabVIEW最大的特点是数据流...Labview中的顺序结构有两种形式:平铺式顺序结构层叠式顺序结构。它们的功能是相同的,只是形式不同,层叠式可以节省更多的空间,让整个程序代码看上去更加整齐。 平铺式顺序结构 ...
  • 03-CSS样式和选择器

    千次阅读 2019-10-06 14:47:30
    本文主要内容 CSS概述 CSS和HTML结合的三种方式:行内样式、内嵌样式、外部样式 CSS四种基本选择器:标签选择器、类选择器、ID选择器、通用选择...CSS:层叠样式。从审美的角度负责页面样式。 JS:JavaScri...
  • 文档视结构

    2007-03-13 23:02:00
    文档视结构里,文档是一个应用程序数据基本元素的集合,它构成应用程序所使用的数据单元;另外它还提供了管理和维护数据的手段。 文档是一种数据源,数据源有很多种,最常见的是磁盘文件,但它不必是一个磁盘文件,...
  • Labview【顺序结构

    2019-03-27 15:40:00
    1.平铺式顺序结构(前一帧加法运算,后一帧减法运算,两帧之间数据传递直接相连) 2.层叠式顺序结构 创建一个平铺式顺序结构,右键转换为层叠结构。 在后面添加帧: 前一帧为加法运算,后一帧为减法运算:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,712
精华内容 7,084
关键字:

层叠表数据结构

数据结构 订阅