css flex 容器中项目高度计算问题

html-css013

css flex 容器中项目高度计算问题,第1张

<div class="div1">

<div class="div2">

<span class="span1">sapn1</span>

</div>

<div class="div3">

<span class="span4">span4</span>

</div>

</div>

CSS

.div1{

display: flex

width: 1000px

height: 1200px

flex-direction: column

}

.div2{

flex-basis: 90%

}

.div3{

height: 400px

1.有序列表:每项之间有先后顺序,默认在每项前面显示1,2,3…

<ol type="A">:在每项前面显示A,B,C…

<ol type="a">:在每项前面显示a,b,c…

<ol type="I">:在每项前面显示I,II,III…

有序列表ol增加了一个属性, <ol start="50">,这样就指定了起始值从50开始

2.无序列表使用一对闭合的标签表示, <ul></ul>。内部的一项使用 <li>内容 </li>来表示。

可以通过ul标签的type属性来修改这个修饰符。

<ul type="disc">显示为一个圆点,是默认值

<ul type="circle">显示为一个空心圆圈

<ul type="square">显示为一个实体正方形

“无序”指的是没用数字或字母等来标记,不是像1,2,3或a,b,c这样的显示,而是前面增加一个圆点来表示。

3.自定义列表

<dl>标签全称是definition list,代表“自定义列表”。 <dl>后面的l代表list,列表的意思。

<dt>标签全称是definition term,代表 “自定义项”。一个自定义列表dl内部可以包括多个自定义项dt。 <dt>后面的t代表term,“项目”的意思。

<dd> 标签的全称是definition description,代表“自定义描述”。一个自定义项dt后面跟一个自定义描述dd。 <dd>后面的d代表description,“描述”的意思。

例子:

使用 list-style-type: none

id:指定标签的唯一标识

class:指定标签的类名,class可以通过给多个元素赋予同一class,批量操作来设置css

块元素都是独立显示,把内容分割成块,是网页的主要结构模块;行内元素,即内联元素,只显示在段落的文字流中,是用来标记内容的小片段

块级元素标签 h,ul,li,ol,p,div

行内元素标签 a,em,q, img,span

页面分:头部、内容、底部,头部有三个导航栏,内容有侧边栏和中心区块,三个区块结构里面共用了一个class样式。

语义化:使用语义恰当的标签,使页面有良好的结构,页面元素有含义,能够让人和搜索引擎都容易理解。

1.<form>标签用于为用户输入创建 HTML 表单。表单用于向服务器传输数据。

<form name="myForm" action="/test/6.php" method="post">

name:表单提交时的名称;

action:提交到的地址,如果不写action,信息就会提交到当前页面;

method:提交方式(get和post),如果不写,默认的是get

2.常用标签:

复选框当中,可以把name值设置成一个数组,例:

<button>提交 </button> ——普通按钮,button默认是不提交任何数据,需要绑定事件才可以用提交数据

<a class="btn" href="#">提交 </a> ——链接

<input type="submit" value="提交"> ——提交按钮,提交信息到服务器

设置name值实现分组,如果name值相同,则表示它们是一组,可以实现单选。

placeholder 属性提供可描述输入字段预期值的提示信息。

该提示会在输入字段为空时显示,并会在字段获得焦点时消失。

隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。

<input type="hidden" name="identity" value="123">

多年的前端开发实践中经历了从最初的PC固定布局、手机端固定布局(两端留白)到响应式设计(媒体查询、百分比布局等),直到最终选择rem+Javascript的模式,但是在项目开发中需要将大量的样式由px转换为rem,单位之间的换算虽然不复杂,但是工作量却很大。

那么能不能有一种自动化的解决方案呢?通过搜索,找到了一种方案。读者可以直接在百度搜索引擎中搜索“用grunt写了一个px和rem互转的工具”,

点击图中用边框标示的部分,进入“用grunt写了一个px和rem互转的工具”页面,

在该文章的末尾还提供了一个在线转换工具,如下图所示,可以很方便地将px转换为rem,批量操作,几秒就能完成。

笔者将实际项目中的CSS代码拷贝进入转换,有几个参数要选择,进行转换效果如

这里的参数选择和你在项目中的设计图尺寸和根元素字体大小相关,至于border的处理是因为在安卓下使用rem单位的支持性特别差,你可能写2rem或者3rem都没用默认会变成1px,所以在使用border属性时很多时候不建议处理border。

Javascript控制根元素大小的代码读者可以将代码放在公共的Js文件中,确保每个HTML文件都引用到。

在线工具中还提供了自动生成媒体查询的功能,这在响应式设计中可以少些许多CSS代码,让前端开发事半功倍。这里不做介绍,读者根据实际情况决定是否使用该功能。

其实,读者也可以自己写一个javascript函数实现上述功能,不过,重复发明轮子也没有什么意义,除了上面的工具之外(javascript实现),还有Sass的方案。网络有相关的文章,读者可以去研读,不过,还是在线工具为最佳,当然也可以将该工具下载下来使用。