精华内容
下载资源
问答
  • 绝对布局
    2021-06-28 06:38:30

    其实这篇文章早就该写了,很久写了关于HTML布局相关的经验总结,一直在百度云上,只是偶尔查询翻到对应资料,担心日后很难找到,所以最后还是决心以文章的形式记录下来供大家参考查阅,实现这篇文章应有的价值;

    之前从事Java几年,对JavaWeb相关技术都有较深的了解,当然自从从事C++工作之后,一直在专研C++相关技术,所以对Java而言,我已经忘得差不多了,虽然如此,如果真的要恢复所有相关知识,也不需要太多时间,废话不多说,从事java前端UI设计师必不可少的  ,包括动态的JSP(ASP、PHP)和静态的HTML(CSS)以及JS和局部刷新,这里我们说的是HTML。

    关于HTML学习,其实就是学习UI设计,现在大多数的UI都是以XML文件进行布局解析,包括手机Andriod(之前学习过一段时间),QT高级UI应用(qss)以及C++皮肤库DUILIB等等,使用XML布局是一个种很合理很自然的方法,因为它确确实实将UI和业务逻辑完全分离了,如果不是如此,可以想象那是多乱!在设计的时候,我们一般都会遵循MVC模式,也就是将模型、视图以及控制器完全分离,让我们更好的专注业务模型开发,MVC应用很广泛,比如最简单的JavaWeb实现:jsp+serverlet+jdbc以及MFC文档视图框架都是典型的实现;

    关于UI(皮肤)或界面开发,从之前学习JavaWeb和DUILIB等开发经验来看,学习的重点不是学会里面各种标签的使用!因为这些使用都有相应的文档,告诉你标签元素的作用以及有哪些属性,当熟悉开发之后发现,我们根本不需要使用记忆这些东西,相反,我们需要的时候打开文档查阅就行!那么,开发的时候我们要掌握或理解的重点是什么??

    个人觉得:各种布局和布局管理器! 只有我们掌握了布局和布局管理器,就掌握了UI的大局,也就是大致出来什么雏形我们就了然于心,至于某位置放什么东西,那就是具体元素的事情了,怎么使用查一下文档就很清楚了,所以学习UI布局重点不是元素使用,而是布局!!!

    HTML的布局与C++皮肤库种duilib的相对布局和绝对布局完全不一样,写HTML必须了解HTML布局原理,了解原理后自然就知道如何布局你的UI了。

    HTML是流式文档,所以HTML默认布局就是流式布局,这里所说的流式布局怎么理解呢?所谓了流式布局就是:所有元素(包括块级元素和非块级元素)将以流的形式依次从左到右、从上到下排列!

    流式布局是重点,在知道流式布局的原理之后,还要专注某一个元素在流式布局中自我的表现,元素空间分为占用空间和物理空间,占用空间是指元素所占用的空间,物理空间是指元素实际上所占用的空间!也即是说可以占用大空间,但是实际自身大小只能占用多大空间,剩余的就是配相的。

    说到单个元素占用空间,不免有必须知道元素边距的事!因为边距margin会对文档流种其他的元素产生影响!

    元素的布局分为相对布局和绝对布局,如果指定某元素的布局为相对布局,那么该元素在流式布局中的位置还是占用的!也就是不会影响其他元素的位置(就好像是默认的流式布局一样,自动被安排放置,各个元素的位置是相对的,所以认为是相对布局,这样理解我感觉更恰当);如果指定某元的局部为绝对布局,那么该元素就会脱离文档流,此时其他元素会占用原本它应该占用的位置,并且该元素以最近的具有定位(Position)属性的父亲或祖先元素为参照物!

    所以影响文档的流式布局的因素有某元素自身使用了绝对布局,导致脱离文档流,这就是我们关注的重点!因为它改变了游戏规则,那么这个绝对布局特殊性在哪里?那就是他的位置脱离之后是如何布局到UI中的,如果position被指定(相对布局和绝对布局都可以),那么left、top、right、bottom属性就生效了,其他情况属于无效!而且四个元素只能用相邻的两个元素,即不能使用上又使用下,使用了左又使用右! 还有就是使用了绝对定位的元素因为已经脱离了文档流,margin-bottom和margin-right两个值不再对文档中的元素产生影响(margin-top和margin-left还是有影响,当然不影响流式布局中的元素,但是影响其他绝对布局的元素,但是margin-right和margin-bottom就对其他元素没任何影响了),绝对定位和相对定位的累加加效果不同,如果top、bottom、left、right属性和margin属性偏移的方向相反,top、bottom、left、right属性值有效,反方向的margin属性值无效!

    总结:

    相对定位的元素不会脱离文档流,占用文档流的空间,Left; Right; Top和Bottom属性与margin属性混合使用会产生累加效果。 绝对定位的元素脱离文档流,偏移不影响文档流中的其它元素,Left; Right; Top和Bottom属性与margin属性混合使用,偏移方向相同值累加,方向相反,margin属性值无效。 绝对定位的元素以最近的定位祖先元素为参照物。

    快来成为我的朋友或合作伙伴,一起交流,一起进步!

    QQ群:961179337

    微信:lixiang6153

    邮箱:lixx2048@163.com

    公众号:IT技术快餐

    更多资料等你来拿!

    更多相关内容
  • 本文实例为大家分享了Android绝对布局AbsoluteLayout的具体代码,供大家参考,具体内容如下 1>AbsoluteLayout(绝对布局) 又可以叫做坐标布局,可以直接指定子元素的绝对位置(xy) 2>由于手机屏幕尺寸差别比较大 ...
  • 这个程序写了对相对布局和绝对布局的例子,帮助大家理解两者的使用和区别。
  • AbsoluteLayoutApp:创建绝对布局源代码
  • 本文实例分析了Android编程之绝对布局AbsoluteLayout和相对布局RelativeLayout。分享给大家供大家参考,具体如下:  一、绝对布局AbsoluteLayout 绝对定位AbsoluteLayout,又可以叫做坐标布局,可以直接指定子元素...
  • java:布局方法(绝对布局

    千次阅读 2020-10-29 21:10:13
    // 为null时表示将容设为绝对布局绝对布局; 一个窗体原本是空白的,当我们在里面添加一些组件(如:按钮、标签)后,窗体便不再单调。而这些组件在窗体中的摆放方式,便会联系到后面的布局学习。 绝对布局,当...

    一、简单引导

    • layout(布局)
    • 重点代码(绝对布局):
      c.setLayout(null);// 为null时表示将容设为绝对布局为绝对布局;
    • 一个窗体原本是空白的,当我们在里面添加一些组件(如:按钮、标签)后,窗体便不再单调。而这些组件在窗体中的摆放方式,便会联系到后面的布局学习。
    • 绝对布局,当我们编辑好组件在窗体容器中的坐标以及本身大小的相关代码后,这个组件便已经相对于窗体固定住,此时,不管如何改变窗体都不会改变已固定组件的坐标及大小。
    • 补充说明:坐标问题,以电脑桌面左上角为原点,再以窗体左上角相对于原点确定位置。后面关于容器中的组件位置坐标也类似,以左上角为准。以数学方式理解说,我们使用的是第四象限。

    二、流程图

    • 组件:比如按钮,标签等,后面源码则用按钮来做例子。
    创建一个窗体
    窗体里添加容器
    组件
    尺寸
    坐标
    是否可见
    坐标
    尺寸

    三、步骤详情

    (一)创建一个窗体

    1.源码A

    源码A是创建一个普通的窗体,设置窗体坐标、大小、是否可见。

    源码A如下:

    /**内容:
       绝对布局
       容器里的组件不会随着对窗体的的变化而改变,组件的坐标和大小已经由代码固定,因此
    想要改变组件坐标、大小变化,需要改变组件对应的代码参数。
    */
    
    import java.awt.Container;// 容器
    
    import javax.swing.*;// 窗体
    
    class Demo extends JFrame{
    	public Demo(){
    		setBounds(200,150,500,400);// 设置窗体,坐标,宽高;bounds(边界)
    		//Default(默认值),Operation(操作)
    		setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×便停止运行;md
    
    		setVisible(true);// 是否可见
    	}
    	public static void main(String[] args){
    		new Demo();
    	}
    }
    

    2.源码A的运行效果

    在这里插入图片描述

    (二)在窗体里添加容器

    源码B

    • 源码B是在源码A的基础上添加。

    • 源码B为添加容器,源码里只是添加了一句关键代码。事实上,各组件是放于容器中,组件的布局也就是组件在容器中的布局。而容器又是添加到窗体之中。如此关系。

    • 源码B的运行效果和源码A一样。

    源码B如下

    /**内容:
       绝对布局
       容器里的组件不会随着对窗体的的变化而改变,组件的坐标和大小已经由代码固定,因此
    想要改变组件坐标、大小变化,需要改变组件对应的代码参数。
    */
    
    import java.awt.Container;// 容器
    
    import javax.swing.*;// 窗体
    
    class Demo extends JFrame{
    	public Demo(){
    		setBounds(200,150,500,400);// 设置窗体,坐标,宽高;bounds(边界)
    		//Default(默认值),Operation(操作)
    		setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×便停止运行;
    		// Container(容器),Content(目录),Pane(边界)
    		Container c=getContentPane();// 添加容器c
    
    		setVisible(true);// 是否可见
    	}
    	public static void main(String[] args){
    		new Demo();
    	}
    }
    

    (三)添加组件

    1.源码C

    • 源码C是在源码B的基础上添加。
    • 源码C则是在容器里添加组件(按钮)且设定组件位置大小。

    源码C如下:

    /**内容:
       绝对布局
       容器里的组件不会随着对窗体的的变化而改变,组件的坐标和大小已经由代码固定,因此
    想要改变组件坐标、大小变化,需要改变组件对应的代码参数。
    */
    
    import java.awt.Container;// 容器
    
    import javax.swing.*;// 窗体
    
    class Demo extends JFrame{
    	public Demo(){
    		setBounds(200,150,500,400);// 设置窗体,坐标,宽高;bounds(边界)
    		//Default(默认值),Operation(操作)
    		setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×便停止运行;
    		// Container(容器),Content(目录),Pane(边界)
    		Container c=getContentPane();// 添加容器c
    
    		c.setLayout(null);// 为null时表示将容设为绝对布局为绝对布局;layout(布局)
    		// 创建两个按钮,分别命名为“按钮1”,“按钮2”
    		JButton b_1=new JButton("按钮1"), b_2=new JButton("按钮2");
    		b_1.setBounds(40,30,70,30);// 设置按钮1在容器中的坐标、宽高
    		b_2.setBounds(50,70,80,40);
    		c.add(b_1);// 将 按钮1 放于容器c中
    		c.add(b_2);
    
    		setVisible(true);// 是否可见
    	}
    	public static void main(String[] args){
    		new Demo();
    	}
    }
    

    2.源码C的运行效果

    在这里插入图片描述

    四、定位日期

    2020.10.29;20:57

    展开全文
  • 主要介绍了Java Swing null绝对布局的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 该资源充分讲解了Android中绝对布局的使用方法。
  • 安卓绝对布局

    2021-02-20 10:20:23
    1、绝对布局 LInearLayout RelativeLayout TableLayout GridLayout FrameLayout AbsoluteLayout 2、布局得类型 线性布局(LinearLayout) 线性布局是Android较为常用得布局方式,它使用标签表示 ...

    1、绝对布局

    • LInearLayout

    • RelativeLayout

    • TableLayout

    • GridLayout

    • FrameLayout

    • AbsoluteLayout
      2、布局得类型
      线性布局(LinearLayout)

    • 线性布局是Android较为常用得布局方式,它使用标签表示

    • 线性布局有两种方式指定控件位置,一种是水平方向,一种是竖直方向

    • 标签属性:相当于html css样式属性;Android:开头
      在这里插入图片描述
      3、相对布局(RelativeLayout)

    • 在Eclipse中开发Android程序时,默认采用得就是相对布局

    • 相对布局通常有两种形势:一种是相对与容器而言得,一种是相对于控件而言得
      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述

    展开全文
  • Android 绝对布局实例

    2014-06-06 16:24:40
    Android 绝对布局实例 方便初学者 直接下载在模拟器上运行即可。
  • java的swing布局(一)绝对布局 date: 2019-10-29 21:47:10 这几天学Java的swing编程,对关于swing的几个较为常用的布局进行讨论 先是第一个绝对布局,在看代码之前先要知道setbounds(x,y,width,height)的定义。在四...

    java的swing布局(一)绝对布局

    date: 2019-10-29 21:47:10

    这几天学Java的swing编程,对关于swing的几个较为常用的布局进行讨论
    先是第一个绝对布局,在看代码之前先要知道setbounds(x,y,width,height)的定义。在四个参数中:x,y是部件开始位置,width,height是部件的宽和高,再看代码:

    import java.awt.*;
    
    import javax.swing.*;
    
    public class Pig extends JFrame{
    	public void create(String title) {
    		JFrame jf=new JFrame();
    		Container  c=jf.getContentPane();
    		JPanel p1=new JPanel();       
    		p1.setLayout(null);                       //这里必须设置setlayout布局为null,不然会被编译器自动赋为Flowlayout(流布局),而不是绝对布局。
    		JLabel jLabel1=new JLabel("员工编号:");   
    		jLabel1.setBounds(0,0,60,40);      //横向从0开始,纵向从0开始,设置宽为60,高为40
    		
    		JTextField jT1=new JTextField();
    		jT1.setBounds(60, 0,180,40);		//横向跟着第一个的后面(60),纵向还是从0开始,设置宽为180,高为40
    		
    		JLabel jLabel2=new JLabel("借用器具:");
    		jLabel2.setBounds(260,0,60,40);
    		
    		JTextField jT2=new JTextField();
    		jT2.setBounds(320, 0,180,40);
    		
    		JLabel jLabel3=new JLabel("借用日期:");     
    		jLabel3.setBounds(0,40,60,40);    //横向从0开始,纵向从40开始(第二行,因为第一行高度是40),设置宽为60,高为40
    		
    		JTextField jT3=new JTextField();
    		jT3.setBounds(60, 40,180,40);
    		
    		JLabel jLabel4=new JLabel("归还日期:");
    		jLabel4.setBounds(260,40,60,40);
    		
    		JTextField jT4=new JTextField();
    		jT4.setBounds(320, 40,180,40);
    
    		JLabel jLabel5=new JLabel("借用原因:");
    		jLabel5.setBounds(0,80,60,40);
    
    		JTextField jT5=new JTextField();
    		jT5.setBounds(60, 80,440,40);
    
    		JButton jb1=new JButton("确定");     
    		jb1.setBounds(0,120,250,40);        //横向从0开始,纵向从120开始(第四行,因为每一行高度是40),设置宽为250,高为40
    		
    		JButton jb2=new JButton("取消"); 
    		jb2.setBounds(250,120,250,40);
    		
    		p1.add(jLabel1);
    		p1.add(jT1);
    		p1.add(jLabel2);
    		p1.add(jT2);
    		p1.add(jLabel3);
    		p1.add(jT3);
    		p1.add(jLabel4);
    		p1.add(jT4);
    		p1.add(jLabel5);
    		p1.add(jT5);  
    		p1.add(jb1);
    		p1.add(jb2);   
    		c.add(p1);
    		jf.setTitle(title);
    		jf.setBounds(200, 200, 500, 200);
    		jf.setVisible(true);
    		jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    	}
    	public static void main(String[] args) {
    			new Pig().create("绝对布局");
    	}
    }
    

    运行结果如下:
    在这里插入图片描述
    绝对布局是最简单的,只要知道部件的setbounds(x,y,width,height),一切就显得很简单,

    展开全文
  • HTML的绝对布局和相对布局的区别

    千次阅读 2019-08-12 11:16:01
    绝对布局(absolute;):一般指的指是相对于顶层页面;相对布局(relative)指的是相对于上一层页面 代码: 相对布局 position: relative; top:300px; left:350px; 绝对布局 position: absolute; top:300px; ...
  • 绝对布局怎么水平居中

    千次阅读 2019-01-29 19:53:45
    不同屏幕尺寸下,绝对布局,这个问题困扰了我很久,先分享我摸索的方法   <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&...
  • android studio 绝对布局

    千次阅读 2020-10-10 22:10:06
    AbsoluteLayout 绝对布局 绝对布局依靠坐标确定位置 <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=...
  • Java中设置JPanel自定义布局,可通过设置空布局即绝对布局来实现,代码如下: package menu; import java.awt.Container; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; ...
  • 绝对布局的应用

    2013-07-12 16:26:33
    绝对布局的代码。来源于ANDROID编程典型事例与项目开发
  • Android布局深究系列文章目录 Android布局深究(一)——LinearLayout(线性布局) Android布局深究(二)——...Android布局深究(六)——AbsoluteLayout(绝对布局) 文章目录Android布局深究系列文章目录前言一、Abs
  • 主要介绍了Java当中的绝对布局,还举了一个简单的实例,需要的朋友可以参考下。
  • position:absolute,绝对布局 找近的一个已定位的父级元素进行定位(父级元素也需要已经定位,使用position属性) left:50px,top:50px (自己距离已定位的父级元素居左居上各50px) displa...
  • AbsoluteLayout绝对布局

    2018-09-28 22:35:53
    实际使用中实在太少,暂时不做讲解。
  • Python笔记之Tkinter(绝对布局、相对布局、表格布局)

    万次阅读 多人点赞 2019-05-01 10:04:14
    学习Tkinter制作窗体软件的基础,控件相对于窗体的绝对布局和相对布局、表格布局 二、试验平台 windows7 , python3.7 三、绝对布局示例代码 import tkinter from tkinter import ttk win = tkinter.Tk() win....
  • 网格布局GridLayout PAGE 2 目 录 TOC \o "1-3" \h \z \u 5167 一认识网格布局GridLayout 1 391 二网格布局重要属性及代码 2 31626 三应用实列 2 网格布局GridLayout 一认识网格布局GridLayout 网格布局是Android4.0...
  • 我在代码中将布局方式已经改为null了,可是在可视化界面上操作的时候还是按照之前的布局方式
  • 绝对布局)  直接就可以决定子组件的绝对位置,简单直接就可以定位,但是手机的屏幕不一样大,适配性差 可以直接用Android:layout_x和android:layout_y来定义组件的位置(两个属性只能在绝对布局中使用,在相对...
  • duilib的Layout目录专门放置布局相关的容器控件,这6个布局分别为:Container、VerticalLayout、HorizontalLayout、TileLayout、TabLayout、ChildLayout。容器之间可以任意相互嵌套。 一、Container(容器控件...
  • 主要介绍了javascript实现瀑布流的两种布局方式,一是绝对布局、二是列式布局,详细介绍了这两种布局方式的原理,感兴趣的小伙伴们可以参考一下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 152,186
精华内容 60,874
关键字:

绝对布局

友情链接: Matlab_Codes.rar