GVKun编程网logo

html – Flexbox与同一容器内的图像和文本对齐(css flexbox)

1

本文将介绍html–Flexbox与同一容器内的图像和文本对齐的详细情况,特别是关于cssflexbox的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些

本文将介绍html – Flexbox与同一容器内的图像和文本对齐的详细情况,特别是关于css flexbox的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于 html 的 meta 总结,html 标签中 meta 属性使用介绍、Android Html 与客户端交互 ---- 1.)html 操作 activity、ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处的知识。

本文目录一览:

html – Flexbox与同一容器内的图像和文本对齐(css flexbox)

html – Flexbox与同一容器内的图像和文本对齐(css flexbox)

我正在制作一个flexBox员工ID卡布局.员工的图片将显示在左侧,员工的信息(姓名,员工ID,部门等)将以从上到下的列表格式显示在图像的右侧.

我需要使用flexBox来做到这一点.

这是我到目前为止所做的JSfiddle链接:

<!DOCTYPE html>
<html lang="en">

<head>
    <Meta charset="UTF-8">
    <title>FlexBox Example 1</title>
    <style>
        .flex-container {
           display: -webkit-flex;
           display: flex;
           -webkit-flex-direction: row;
           flex-direction: row;
           -webkit-align-items: center;
           align-items: center;

           flex-wrap: wrap;
           min-width: 320px;
           max-width: 1220px;
        }
        .flex-item {
        height: 120px;
        width: 300px;
        background-color: #e46119;
        border: 1px solid #626262;
        margin: 3px;
        padding: 10px 0 0 10px;
        }
        span {
            padding-left: 5px;
        }
    </style>
</head>

<body>
    <div>
        <div><img src="http://placehold.it/100x100">
          <span>Text fields will go here</span>
        </div>
        <div><img src="http://placehold.it/100x100">
          <span>Text fields will go here</span>
        </div>
        <div><img src="http://placehold.it/100x100">
          <span>Text fields will go here</span>
        </div>
        <div><img src="http://placehold.it/100x100">
          <span>Text fields will go here</span>
        </div>
        <div><img src="http://placehold.it/100x100">
          <span>Text fields will go here</span>
        </div>
        <div><img src="http://placehold.it/100x100">
          <span>Text fields will go here</span>
        </div>
        <div><img src="http://placehold.it/100x100">
          <span>Text fields will go here</span>
        </div>
        <div><img src="http://placehold.it/100x100">
          <span>Text fields will go here</span>
        </div>
        <div><img src="http://placehold.it/100x100">
          <span>Text fields will go here</span>
        </div>
    </div>
</body>
</html>

http://jsfiddle.net/Hopped_Up_Designs/3teLbqqf

任何和所有的帮助将不胜感激.谢谢你,杰森

解决方法

我发现最不引人注目的方法是添加:
.flex-item {
    display:flex;
    align-items: center;
}
.flex-item img{
    flex-grow:0;
    flex-shrink:0;
}

如果你添加多个< span>在img之后,它们将继续以行方式显示(如浮动).但这可能不是你想要的.一个选项可能是将每个项目设置为固定宽度 – 但这会打破flexBox的精神.

但是,如果您修改文本包装器以包含单个< div>,我认为您会没事的. < div>将显示为块级元素,直到您选择其他方式.

<div>
  <img src="http://placehold.it/100x100">
  <div>
    <ul>
      <li>Text fields will go here</li>
      <li>and here</li>
    </ul>
  </div>
 </div>

这是我小提琴的一个叉子,我这样做了. http://jsfiddle.net/Paceaux/7fcqkb50/1/

<meta> html 的 meta 总结,html 标签中 meta 属性使用介绍

html 的 meta 总结,html 标签中 meta 属性使用介绍

引子

之前的我的博客中对于meta有个介绍,例如:http://www.haorooms.com/post/liulanq_think_ie 浏览器安全性想到的这篇文章,中间介绍了meta下面IE的一些属性,可以实现页面之间的过渡转换。已经SEO优化中有所提及。下面具体介绍一下meta的功能和使用。

前言

meta是html语言head区的一个辅助性标签。也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言,自动刷新并指向新的页面,实现网页转换时的动态效果,控制页面缓冲,网页定级评价,控制网页显示的窗口等!

html的meta总结

meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。

1、name属性

name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

meta标签的name属性语法格式是:

<meta name="参数"content="具体的参数值">。

其中name属性主要有以下几种参数: 

A、Keywords(关键字) 

说明:keywords用来告诉搜索引擎你网页的关键字是什么。

举例:

<meta name="keywords"content="meta总结,html meta,meta属性,meta跳转">

B、description(网站内容描述)

说明:description用来告诉搜索引擎你的网站主要内容。

举例:

<meta name="description"content="haorooms博客,html的meta总结,meta是html语言head区的一个辅助性标签。">

C、robots(机器人向导)

说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。

content的参数有all,none,index,noindex,follow,nofollow。默认是all。

举例:

<meta name="robots"content="none">

具体参数如下:

信息参数为all:文件将被检索,且页面上的链接可以被查询;

信息参数为none:文件将不被检索,且页面上的链接不可以被查询;

信息参数为index:文件将被检索;

信息参数为follow:页面上的链接可以被查询;

信息参数为noindex:文件将不被检索,但页面上的链接可以被查询;

信息参数为nofollow:文件将被检索,但页面上的链接不可以被查询;

D、author(作者)

说明:标注网页的作者

举例:

<meta name="author"content="root,root@xxxx.com">

E、generator

<meta name="generator"content="信息参数"/>

meta标签的generator的信息参数,代表说明网站的采用的什么软件制作。

F、COPYRIGHT

<META NAME="COPYRIGHT"CONTENT="信息参数">

meta标签的COPYRIGHT的信息参数,代表说明网站版权信息。

G、revisit-after

<META name="revisit-after"CONTENT="7days">

revisit-after代表网站重访,7days代表7天,依此类推。

2、http-equiv属性

http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。

meta标签的http-equiv属性语法格式是:

<meta http-equiv="参数"content="参数变量值">;

其中http-equiv属性主要有以下几种参数:

A、Expires(期限)

说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。

用法:

<meta http-equiv="expires"content="Fri,12Jan200118:18:18GMT">

注意:必须使用GMT的时间格式。

B、Pragma(cache模式)

说明:禁止浏览器从本地计算机的缓存中访问页面内容。

用法:

<meta http-equiv="Pragma"content="no-cache">

注意:这样设定,访问者将无法脱机浏览。

C、Refresh(刷新)

说明:自动刷新并指向新页面。

用法:

<meta http-equiv="Refresh"content="2;URL=http://www.haorooms.com"> //(注意后面的引号,分别在秒数的前面和网址的后面)

注意:其中的2是指停留2秒钟后自动刷新到URL网址。

D、Set-Cookie(cookie设定)

说明:如果网页过期,那么存盘的cookie将被删除。

用法:

<meta http-equiv="Set-Cookie"content="cookie value=xxx;expires=Friday,12-Jan-200118:18:18GMT;path=/">

注意:必须使用GMT的时间格式。

E、Window-target(显示窗口的设定)

说明:强制页面在当前窗口以独立页面显示。

用法:

<meta http-equiv="Window-target"content="_top">

注意:用来防止别人在框架里调用自己的页面。

F、content-Type(显示字符集的设定)

说明:设定页面使用的字符集。

用法:

<meta http-equiv="content-Type"content="text/html;charset=gb2312">

具体如下:

meta标签的charset的信息参数如GB2312时,代表说明网站是采用的编码是简体中文;

meta标签的charset的信息参数如BIG5时,代表说明网站是采用的编码是繁体中文;

meta标签的charset的信息参数如iso-2022-jp时,代表说明网站是采用的编码是日文;

meta标签的charset的信息参数如ks_c_5601时,代表说明网站是采用的编码是韩文;

meta标签的charset的信息参数如ISO-8859-1时,代表说明网站是采用的编码是英文;

meta标签的charset的信息参数如UTF-8时,代表世界通用的语言编码;

G、content-Language(显示语言的设定)

用法:

<meta http-equiv="Content-Language"content="zh-cn"/>

H、Cache-Control指定请求和响应遵循的缓存机制。

Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、on

ly-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下

Public指示响应可被任何缓存区缓存

Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效

no-cache指示请求或响应消息不能缓存

no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。

max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应

min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应

max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

J、http-equiv="imagetoolbar"

<meta http-equiv="imagetoolbar"content="false"/>

指定是否显示图片工具栏,当为false代表不显示,当为true代表显示。

K、Content-Script-Type

<Meta http-equiv="Content-Script-Type"Content="text/javascript">

W3C网页规范,指明页面中脚本的类型。

L 页面跳转,只用于IE

具体请看 http://www.haorooms.com/post/liulanq_think_ie


Android Html 与客户端交互 ---- 1.)html 操作 activity

Android Html 与客户端交互 ---- 1.)html 操作 activity

1. 何为 scheme 和 Uri

在 Android 中 scheme 是指 Uri 链接:之前的部分如 test://login scheme 即为 test。 可能很多人要为 URI 是怎么定义的呢?具体看 URI 的定义


  • 英文愿意: An identifier is an object that can act as a reference to something that has identity. In the case of URI, the object is a sequence of characters with a restricted syntax.
  • 翻译:一个具有参考对象的可以唯一识别的标识符。在这种情况下,这个对象在有限的语法表达出有序的符号

2.Uri 的结构

test://video:8080/event?title="scheme"&url="www.xiaomi.com"

  1. scheme :test
  2. host :video
  3. port:8080
  4. path :/event
  5. query : titile ,url

3. 如果通过 H5 (url) 来启动相应的页面(activity)

String url="test://video:8080/event?title="scheme"&url="www.xiaomi.com" "
Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse(url));
startActivity(intent);

<activity android:name=".UriActivity">
           <intent-filter >
               <action android:name="android.intent.action.VIEW" />
               <category android:name="android.intent.category.DEFAULT" />
               <category android:name="android.intent.category.BROWSABLE" />
               <data android:scheme="test" android:host="video" />
           </intent-filter>
 </activity>

这样就可以在 UriActivity 中接收 url 跳转相应的动作以及数据。

>  Uri data=getIntent().getData();
>      data.getScheme();
>      data.getHost();
>      data.getPort();
>      data.getPath();
>       data.getQueryParameter("title");

4. 大量的不同的 scheme 跳转

如果我们在每个 activity 中配置 scheme ,host,path 显得特别麻烦。这个时候我们需要一个中转的 activity 来处理所有的 scheme 的跳转。根据相应的 host,path 来跳转到相应的 activity 做进一步处理。

protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       Intent intent = getIntent();
       Uri data = intent.getData();
       String host = data.getHost();
       if(host.equals("list")){
          if ("/near".equals(data.getPath())) {//yhouse://list/near 
                intentTransfer = new Intent(this, NearbyActivity.class);
            } else if ("/new".equals(data.getPath())) {//yhouse://list/new 
                intentTransfer = new Intent(this, NewSkuActivity.class);
            } else if ("/live".equals(data.getPath())) {
                intentTransfer = new Intent(this, LiveActivity.class);
            } else if ("/neighbor".equals(data.getPath())) {
                intentTransfer = new Intent(this, NeighborActivity.class);
            } else if ("/talent".equals(data.getPath())) {
                intentTransfer = new Intent(this, TalentListActivity.class);
            } else if ("/guide".equals(data.getPath())) {
                intentTransfer = new Intent(this, GuideActivity.class);
            } else if ("/experience".equals(data.getPath())) {
                intentTransfer = new Intent(this, PlayerActivity.class);
            }else if ("/latest".equals(data.getPath())) {
                intentTransfer = new Intent(this, CikeActivity.class);
            } else if ("/message".equals(data.getPath())) {
                intentTransfer = new Intent(this, HomeActivity.class);
            } else if ("/message/like".equals(data.getPath())) {
                intentTransfer = new Intent(this, MessageDetailActivity.class);
            } else if ("/message/comment".equals(data.getPath())) {
                intentTransfer = new Intent(this, MessageDetailActivity.class);
            } else if ("/message/follow".equals(data.getPath())) {
                intentTransfer = new Intent(this, MessageDetailActivity.class);
            } else if ("/message/system".equals(data.getPath())) {
                intentTransfer = new Intent(this, SystemNoticeActivity.class);
            } else {
                intentTransfer = new Intent(this, HomeActivity.class);
            }
      }else if ("my-member".equals(host)) {
            intentTransfer = new Intent(this, MemberInfoActivity.class);
        } else if ("event".equals(host)) {
            intentTransfer = new Intent(this, HuodongDetailActivity.class);
        } else if ("booking-list".equals(host)) {
            intentTransfer = new Intent(this, OrderManagerActivity.class);
        } else if ("my-party".equals(host)) {
            intentTransfer = new Intent(this, OrderManagerActivity.class);
            intentTransfer.putExtra("type", OrderManagerActivity.PARTY);
        } else if ("order".equals(host)) {
            intentTransfer = new Intent(this, BookingManageDetailActivity.class);
        } else if ("meal".equals(host)) {
            intentTransfer = new Intent(this, MealDetailActivity.class);
        }
}

你可能发现大量的 if else 语句不是非常好的选择。你可以采用 swith case 看不起来更清爽一些。但是使用 HashMap 将是我们比较好的选择。

HashMap 处理 首发定义一个枚举 SchemeEnum 和类 SchemeManager

>``` public enum ShemeEnum {
>     Nearby("/near", NearbyActivity.class), NewSku("/new", NewSkuActivity.class),Live("/live", LiveActivity.class),
>     NeighborActivity("/neighbor", NeighborActivity.class),Talent("/talent", NeighborActivity.class),Guide("/guide", GuideActivity.class),
>     Player("/experience", PlayerActivity.class),News("/news", NewsActivity.class),Latest("latest",CikeActivity.class),
>             Message("/message",NeighborActivity.class),Like("/message/like",NeighborActivity.class),
>     Comment("/message/comment",NeighborActivity.class),Follow("/message/follow",NeighborActivity.class),
>     System("/message/system",NeighborActivity.class),event("event",HomeActivity.class);
>     private String key;
>     private Class<?> value;
> 
>     private ShemeEnum(String key, Class<?> value) {
>         this.value = value;
>         this.key = key;
>     }
> 
>     public String getKey() {
>         return key;
>     }
> 
>     public Class<?> getValue() {
>         return value;
>     }
> }

>```
>   public class SchemeManager {
>     private  static HashMap<String, Class> map = new HashMap();
>     private static SchemeManager scheme;
> 
>     public static HashMap initScheme() {
>         ShemeEnum[] values = ShemeEnum.values();
>         int len=values.length;
>         for (int i = 0; i <len ; i++) {
>             map.put(values[i].getKey(), values[i].getValue());
>         }
>         return map;
>     }
> 
>     public static HashMap<String, Class> getMap() {
>         return map;
>     }
> }

scheme 转化的 Activity 将整理成

>```
>  public class UriActivity extends Activity {
>     private SApplication sApplication;
> 
>     @Override
>     protected void onCreate(Bundle savedInstanceState) {
>         super.onCreate(savedInstanceState);
>         setContentView(R.layout.activity_test);
>         Log.e("---UriActivity---", getClass().getName());
>         Uri data = getIntent().getData();
>         sApplication = (SApplication) getApplication();
>         Intent intent = getIntent();
>         if (intent == null || data == null) finish();
>         Intent intentTransfer = null;
>         String host = data.getHost();
>         if (host.equals("list")) {
>             intentTransfer = getIntentTransfer(data.getPath());
>         }   else {
>             intentTransfer = getIntentTransfer(host);
>         }
>         if (intentTransfer != null) {
>             intentTransfer.setData(data);
>             startActivity(intentTransfer);
>         }
>         finish();
>     }
> 
>     private Intent getIntentTransfer(String path) {
>         Object clazz = sApplication.getMap().get(path);
>         Intent intentTransfer;
>         if (clazz != null) {
>             intentTransfer = new Intent(this, (Class<?>) clazz);
>         } else {
>             intentTransfer = new Intent(this, HomeActivity.class);
>         }
>         return intentTransfer;
>     }
> }
> ``

感觉 UriActivity 变的更简洁。每次新加 scheme 只需要在对应的枚举中添加相应的 scheme 和 Activity 名称既可以正常的跳转。

5. 拦截 uri 跳转

如果你想在跳转的途中或者我直接操作相应的某个操作(显示弹框,去分享等等) 你首先要重写 WebViewClient shouldOverrideUrlLoading(WebView view, String url); 来实现拦截的目的。

  this.setWebViewClient(new WebViewClient() {
            String failedUrl;

        @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
            }

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                //TODO 判断是否要拦截。如果需要做你的拦截之后的动作。
                //不需要直接跳转(看第3条)。 
                return true;
            }
        });
    }
 
 

这样通过 H5 来打开相应的 activity 并且传递参数的相关内容介绍完。下一节。我们将讲解 Activity 传递给 html 数据,以及调用相关的方法。

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

1.Action、RenderAction加载办法的视图,履行Controller → Model → View的次序,然后把产生的页面带回到本来的View中再回传。而Partial、RenderPartial直接加载视图文件内容

2.Html.Partial可以直接供给用户控件名作为参数,而Html.Action须要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

3.对于简单的没有任何逻辑的用户控件,推荐应用Html.Partial;对于须要设置一些Model的用户控件,推荐应用Html.Action。当然,有Model数据也是可以应用Html.Partial办法的,可以看办法的重载。

4.Html.Partial与Html.Action有啥区别呢?区别就是,Html.Partial只有一个视图,而Html.Action除了视图,还真的有个Action跟它对应,所以,Html.Action功能比Html.Partial要强。

 

如何调用这个Html.Partial

 //1、以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹)
@Html.Partial( "_test" //加载对应文件 /Views/Product/_test.cshtml
 
//2、依据应用根路径定位视图// 以 "/" 或 "~/" 开头的路径代表应用根路径
@Html.Partial( "~/Views/Product/_test.cshtml" )
@Html.Partial( "/Views/Product/_test2.cshtml" )
 
//3、加载其他目录的 视图文件
//注意:需要复制views中的web.config 到template目录,否则会提示  "/template/A.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage<TModel>"
@Html.Partial( "/template/A.cshtml" )

asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处

asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处

在ASP.NET MVC中,有什么区别:

Html.Partial and Html.RenderPartial
Html.Action and Html.RenderAction

解决方法

Html.Action调用控制器的动作,这意味着它实例化控制器实体,调用动作方法,构建模型并返回视图结果.

Html.Partial使用已创建的模型(或者可以在没有模型的情况下调用)来渲染指定的视图.

何时使用一个而不是另一个?如果您已有模型并且只想拥有可重复使用的视图,请选择Html.Partial.如果你看到某个部分值得拥有自己的模型和动作,那么使用Html.Action可能是有意义的.

这个问题在this article中有更详细的讨论,你在上面看到的基本上是它的摘录.

关于html – Flexbox与同一容器内的图像和文本对齐css flexbox的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于 html 的 meta 总结,html 标签中 meta 属性使用介绍、Android Html 与客户端交互 ---- 1.)html 操作 activity、ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处等相关知识的信息别忘了在本站进行查找喔。

本文标签: