css布局实践感想

自己的一些‘想法’,想要记录下来。在实际写的时候经常会“随心所欲”,希望这个笔记能让自己更"规范"。

我的业务主要是围绕webApp和微信端,思想上靠近移动端布局。

1.最大的容器

通常使用类名<container>做外部最大容器,这也是很多ui框架选择的。这个容器通常也代表了一个需要单独显示的页面,在模拟router切换的时候,我通常会给它一个id<page-name>方便操作。

2.业务独立模块

一个单页面通常是由多个独立的业务模块组成的,通常使用类名<content>做独立模块。在此上边,可以添加一些通用的样式,例如添加新类名<content-pad>使这个模块具有四周的内边距,添加新类名<content-pad-vertical>添加上下的内边距。

3.模块细分

一个单独的模块通常由标题和主题组成。通常标题使用类名<content-header>,标题内容使用h2~h4标签包裹,再添加一些其他的零部件,例如常见的<more>。通常主题使用类名<content-main>,具体内容结构的类名定义可以具名思议,例如左图右文的结构可以<media-img><media-feature>,表单可以<form-name><form-input>,脱离content的命名限制,可以更加的具名思议。

4.列表模块

一个单独的列表模块在移动端布局中也是相当的常见。这是<3>的列表版本,为了区分每个结构会使用更多的嵌套,实例会像是:

div.content>div.list-warp>.list-header+.list-main>(.list-content>list-content-header+list-content-main>list-content-main-img+list-content-main-feaure)*n

.list-content中的具体内容和<3>中的具体内容是一样的。这里就见了一个很尴尬的问题,想要简明思议,但却太长。这种时候,我倾向于使用less,将反复的工作交给工具处理;或是使用简写(使用类名首字母和下划线_)。这个方式同样适用于form表单,它只是一个比较特殊的列表。

如果一个页面有多个相同的列表模块?这种时候我可能会把多个列表<list-warp>当成业务独立模块,使用content将他们隔离开;或是给这些列表模块再warp一层,例如<list-group>,这并不会影响内部模块和外部的content,只是明确了这些UI相同的列表模块是一个整体的独立模块。也会有更‘麻烦的‘结构,像是我想给这个<list-group>中的<list-warp>在加一个标题,虽然麻烦,但也算是结构清晰。

5.在App中的topBar

对于这种”意义“非凡的页面元素,我们通常都会给它命名成<header>。实例会像是:

.header>.back+h1+.right

6.在App中的navBar

同样‘意义‘非凡,我们给它命名为<nav>。实例会像是:

.nav>.nav-main>.nav-item*n

7.命名中的状态

未选中状态,选中状态<active>,不可用状态<disabled>,或是<_active><_disabled>

我想要,最好是结构清晰,便于编写和后续他人维护的布局。嘛,自己多注意吧。

原文地址:https://www.cnblogs.com/Merrys/p/8644193.html

时间: 2025-01-02 14:03:06

css布局实践感想的相关文章

css布局实践总结(part2)

一.总结: 在第一篇css布局实践心得总结中总结了通过给元素设置position:absolute的方式让元素处在BFC(块级格式化上下文)的环境中,处在BFC环境中的元素是独立的,它和外面其他元素毫无关系. 今天很兴奋的是实践到了通过将元素设置成line-block的方式让元素处在BFC的环境中,让其与外面的元素隔绝关系.还是引用这张图. 问题:如何让一个块级元素在没有采用float或position:absolute的情况下(采用这两种方式布局的元素,元素都会脱离文档流,元素大小由元素里面的

CSS 布局:40个教程、技巧、例子和最佳实践

前言: 布局是WEB开发一个重要的课题,进入XHTML/CSS后,使用TABLE布局的方式逐渐淡出,CSS布局以众多优点成为主流,本文将介绍40个基于CSS的web布局的资源和教程.文章的出处在hl.文中的不少的例子在一本经典的CSS书籍<CCS: The Missing Manual, 2nd Edition>中都可以找到,据我所知,第二版在中国没有翻译出版.你可以从这里下载英文版(不过需要注册个用户名) 正文 基于CSS的布局能提供更灵活布局方式和更强的用户视觉体验.一些重要技巧和关键点可

转:CSS布局:Float布局过程与老生常谈的三栏布局

使用CSS布局网页,那是前端的基本功了,什么两栏布局,三栏布局,那也是前端面试的基本题了.一般来说,可以使用CSSposition属性进行布局,或者使用CSSfloat属性布局.前者适合布局首页,因为首页上的内容往往可以完全控制.后者适合布局模板,模板中填充的内容你没法控制——比如,在编辑wordpress模板时,你肯定没法考虑每篇博文的长度.这篇博文,就是总结一下怎样使用CSS中的float属性进行布局,其实网上有很多讨论这个话题的文章了,但我觉得都没说到点子上.那就来老生常谈一次吧,CSS之

(转)一小时搞定DIV+CSS布局-固定页面开度布局

本文讲解使用DIV+CSS布局最基本的内容,读完本文你讲会使用DIV+CSS进行简单的页面布局. 转载请标明:http://www.kwstu.com/ArticleView/divcss_2013929173533658 关于DIV+CSS布局中用到的CSS必备知识请看:http://www.kwstu.com/ArticleView/divcss_201442291125960 DIV+CSS布局中主要CSS属性介绍: Float: Float属性是DIV+CSS布局中最基本也是最常用的属性

轻松学DIV教程(div+css布局)

你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习: 第一种可能是你还没有理解CSS处理页面的原理.在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义.结构添加CSS.这篇文章将告诉你应该怎样把HTML结构化. 另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,.hspace.align=left等等)束手无策,不知道该转换成对应的什么CSS语句.当你解决了第一种问题,知道了如何结构化你的HTML,我再给出一个列表

基于display:table的CSS布局

当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:table.table-row和table-cell,它也是最后一款支持这些属性值的主流浏览器.它标志着复杂CSS布局技术的结束,同时也给了HTML表格布局致命一击.最终,使用CSS布局来制作出类似于table布局的栅格将会变得十分迅速和简单.网页元素应用上那些与表格相关的display属性值后,能够模仿出与表格相同的特性.我将会在该文中给大家演示这种方法给CSS布局带来的巨大影响. 使用CSS表格 CSS表格

html css布局

这几天有点急于求成了,原来每一门技术都像大海,只有深入其中才发现它比看到的更要深广的多. 虽然忙里偷闲的看了HTML5,NODE.JS,JAVASCRIPT核心等许多东西,但是真正掌握的不足十分之一,让我不禁感慨技术的博大精深. 从网上买了几本书,有关于javascript设计模式的,有关于网页前端设计思想的,因为每当基础和实践一段时间后,就会发现有很多东西是思想和模式上的问题. 曾经写html css的时候,都是内联样式,压根不知道维护性,简洁性是什么概念. 后来样式表和html的分离,懵懵懂

一小时搞定DIV+CSS布局-固定页面开度布局

DIV+CSS布局中主要CSS属性介绍: Float: Float属性是DIV+CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道<div>标签默认一行只能显示一个,而使用Float属性可以实现一行显示多个div的功能,最直接解释方法就是能实现表格布局的多列功能. Margin: Margin属性用于设置两个元素之间的距离. Padding: Padding属性用于设置一个元素的边框与其内容的距离. Clear: 使用Float属性设置一行有多个DIV后(多列),最好在下一行开始之

DIV+CSS布局基本流程及实例介绍

都说用DIV+CSS布局来设计网站便于优化,容易被收录,那么你对DIV+CSS布局的用法是否了解?CSS布局是网页html通过DIV标签+CSS样式表代码开发制作的(html)网页的统称.DIV+CSS布局是现在非常流行的布局方法,替代了原来的表格布局.下面我们先来看下学习DIV+CSS布局的基本步骤: 一.认清学习的要求 1.弄清目的,首先要认识为什么要学习CSS? 2.心态不能急,如果你很急躁,否则会很快丧失兴趣. 3.坚持,这个不是一到两天的事情,是一个漫长的过程(至少两个月). 二.基础