诸如Bootstrap或HTML5样板之类的Web框架是否向设计人员(而非开发人员)提供任何东西?


27

注意,这与设计有关,而不仅仅是开发。

我使用完全手写的CSS和HTML从头开始构建网站。

我已经了解了一些预构建的CSS模板,例如BootstrapHTML5 Boilerplate。我过去曾简短地看过它们,但从未跳入实际将它们用于任何用途的情况。重置CSS或在需要时包含javascript或为视口配置时,我没有任何问题。

今天晚上,我编写了一个基本的HTML5 / CSS页面。就布局而言,没有什么真正令人震惊的。只是一个起点。之后,我决定给Bootstrap一个相同布局的漩涡。这是一个相当标准的960px,带有英雄图片页面的3列。

页

在更改Bootstrap时,我发现我有80%或更多的时间都花在学习将什么类或id应用于某事上,然后在CSS中进行调整。很明显,Bootstrap根本不会拯救我。实际上,由于*模板过多的CSS,Bootstrap将大大增加生产时间。

*(通过“过度模板化”,我的意思是有很多CSS我可能不会在任何给定的网站上使用。并不是说整体上没有不必要的CSS。

我知道,如果我熟悉Bootstrap,就会熟悉样式表中的类/ ID名称和常规位置。因此,我愿意花点时间花些时间,意识到其中一些原因是我自己不熟悉。

但是,我不禁怀疑Bootstrap等。等 仅仅是拐杖,使勺子喂给他们自己的品牌代码而使设计师瘫痪。因此,锁定了一个消费者基础,该消费者基础将完全依赖于第三方解决方案及其功能,从而满足所有需求,或者至少满足大多数需求。它使我想起那些只有使用Dreamweaver才能设计网站的人。如果他们无法访问Dreamweaver,并且需要进行更改,则天堂禁止。

建立网站时,我使用自己的一组标准类和ID名称。我构建CSS对我来说很直观。我有自己的一套快速构建模板。因此,我建立的任何网站都可以快速编辑。使用任何预先配置的前端包只是意味着我需要学习他们的命名规则和他们的结构,而不是依赖于我自己。

  • 有人能称赞我这些模板系统(如BootstrapHTML5 Boilerplate)的优点吗?
  • 是什么使它们对您有价值?
  • 您是否只是熟悉所使用的系统,以便可以轻松地导航它,还是仍然需要寻找物品?
  • 您是否可以在没有他们的情况下建立一个站点?

2
+1个好问题我本人对此感到很好奇,但没有像您这样经验丰富的地方。因此,当有人开始想了解新手的优势时,我就开始采用它了。当您引用Dreamweaver时,您是在谈论使用它的编码还是所见即所得的方法?我使用Dreamweaver,但只有代码编辑器,如果我可以帮助,则不会自动进行。
brnnnrsmssn

我指的是大多数使用DW的“设计”视图的人。代码就是代码,这就是您所使用的没关系。尽管尽管进行了营销,但根据我的经验,DW仍然会重写代码。
斯科特

1
Dreamweaver具有的“唯一且唯一的杀手”功能是能够以任意的树深度随机选择任意数量的本地文件,并将其上传到远程站点。我一直在寻找一个FTP程序,而且带有类似的树形视图,其中集成了文件和目录,因此很久很久。
2013年

1
@horatio在Mac上传输。不能说Windows。
斯科特

@horatio Filezilla是我对FTP的建议。树状视图和简单的文件到服务器的拖放。
约翰(John

Answers:


6

上个月左右,我一直在研究框架。实际上,我还没有深入研究任何解决方案,但是在我的候选清单中有两个框架替代方案是FoundationIntuitYAMLBase

这些的好处是他们没有'Bootstrap'外观,在鼓励响应者的同时,似乎鼓励设计师从事他们的工作(设计)。

这里有大量的框架本文的更多信息。

如前所述,我已经完成了研究工作,但还没有开始对其进行测试,因此,提倡任何框架的任何评论都将有所帮助。


几个月后-我实际上已经建立了自己的“框架”(实际上只是一个具有通用布局属性的css文件),我从Base开始(上面的链接),但是后来添加了很多自定义项。Base的优点在于,找出并称为一个可靠的起点非常简单。
约翰,

11

优势通常主要是:

  • 快速原型制作(即速度)
  • 内置跨浏览器一致性

如果您需要创建一个网格,并且您需要创建的网格适合于预先构建的CSS框架,那么逻辑是您可以通过使用该框架而走到一半。

话虽如此,我倾向于同意你的看法。CSS框架,恕我直言,就像视觉设计模板一样,如果它们满足您目标的90%,那是很好的,但是如果不满足,那么您将花费更多的时间和精力来修改默认值,而不仅仅是构建您自己的从头开始。

附录:

我应该再添加一个潜在的好处:

  • 这是一个文件系统

在企业环境中,您可能有多个前端开发人员,并且该项目可能需要由多个不同的前端开发人员团队进行数年的研究,拥有文档化的基础表示层框架可能会有所帮助。

这并不是说您自己的内置框架无法进行文档记录,只是文档常常不是优先事项。


11

我熟悉HTML5 Boilerplate,但我更熟悉Bootstrap,因此我将对其进行讨论。请记住,两者都针对两个不同的任务(H5BP是响应式标准化模板,Bootstrap是HTML / CSS / JS小部件和响应式网格的集合。)实际上,它们可以一起使用

但是,我不禁怀疑Bootstrap等。等 仅仅是拐杖,使勺子喂给他们自己的品牌代码而使设计师瘫痪。因此,锁定了一个消费者基础,该消费者基础将完全依赖于第三方解决方案及其功能,从而满足所有需求,或者至少满足大多数需求。它使我想起那些只有使用Dreamweaver才能设计网站的人。如果他们无法访问Dreamweaver,并且需要进行更改,则天堂禁止。

在此类推失败,因为您拥有对Bootstrap源的完全访问权限。如果您不喜欢某些功能,可以进行更改。对我来说,这是拐杖的反面-您可以使用源代码学习 CSS技术。

我不同意“设计网站”必须离金属越来越近,而不是我相信C程序员需要对汇编语言有深入的了解。尽管就算是类推,因为调整HTML / CSS只是扩展选择器并添加所需的内容。

谁能称赞我像Bootstrap或HTML5 Boilerplate这样的模板系统的优点?

对我来说,Bootstrap的杀手级功能是一致且易于应用的小部件样式和Javascript组件。想要链接看起来像按钮吗?添加一个“ .btn”类。想要桌子吗?添加一个“ .table”类。想要导航元素吗?设置无序列表并添加导航类。

下拉菜单,弹出窗口,警报等易于添加到具有数据属性的元素中。Bootstrap包含一组非常漂亮的图标,可以轻松地集成到小部件中。

是什么使它们对您有价值?

  • 可以快速制作原型网站
  • 跨浏览器和跨平台css的所有调试已为我完成。
  • 易于定制的CSS,具有广泛的变量选择,因此我可以快速进行实验和原型布局。
  • 标准导航小部件
  • 源代码是开放和免费的,如果我需要新的mixin或按自己的方式更改行为,我可以专心致志地定制LESS。

您是否只是熟悉所使用的系统,以便可以轻松地导航它,还是仍然需要寻找物品?

Bootstrap的最大功能之一就是出色的文档。我可以轻松浏览它,而CSS选择器则直观易记。

您是否可以在没有他们的情况下建立一个站点?

是的,但是显然需要更多工作。我可以专注于UX和具有良好外观的小部件和一致功能的快速原型布局。


“如果您不喜欢某些东西的工作原理,则可以对其进行更改。” <-这意味着您被迫要么分叉项目(并保持唯一的分叉),要么通过取消设置所有不需要的东西来膨胀最终的CSS 。“您可以使用源代码学习CSS技术” <-学习很多不良的 CSS技术。
cimmanon

@cimmanon通过取消设置来夸大CSS?不,不要荒谬!您可以编译自己的引导程序代码,仅包含所需的组件。我非常有兴趣了解引导团队正在使用的CSS技术“不好”。是否有任何细节,或者您只是对CSS框架感到厌恶并且普遍偏见?
ghoppe 2014年

@ghoppe您是否跳过了我说的所有其他内容?您必须选择破解不想要的东西(我不只是表示不想要的整个模块,而是特定元素上的特定样式)或覆盖它们。促进将该<i>元素用于“图标”非常糟糕。语义类别名称。类炎。使用像素表示字体大小。真的,我可以继续下去。实际上,它们与所有人在过去十年中一直在传授的所有最佳做法背道而驰。
cimmanon 2014年

1
@cimmanon该<i>元素是一个坏主意,这就是为什么他们停止在版本3中使用它的原因。是的,网格不是语义的,但是您不必使用它,也可以使用LESS / SASS预处理自己的网格带有网格样式的语义选择器。关于为什么选择px / em 有很多讨论。通过现代浏览器缩放网页的方式,该问题已不再像以前那样切切和干燥。每个CSS框架都需要覆盖样式,这是使用CSS预处理程序的一个很好的理由。
ghoppe 2014年

1
@cimmanon当然有批评的余地,但是对我来说,好的总比坏的好,而且对于许多网站而言,它是一个良好的起点响应基础。
ghoppe 2014年

7

模板化系统和框架的好处是,如果您按照他们希望的方式工作,它们可以为您节省很多时间。因此,有了Bootstrap,一旦您了解了他们制作JS轮播的语义,就可以轻松实现犯罪。另外,如果您在开始之前就滚动自己的东西,或者在Rails中使用bootstrap-sass之类的东西来快速更改这些变量,Bootstrap似乎会变得简单得多。这样一来,您就不必再进行任何更改。

DA01谈到浏览器的一致性...这对我来说是一个很大的因素。这就是为什么我使用jQuery的原因,即使SO上有许多人会提醒您,添加一个大型库只是为了做几件事是浪费资源。我知道当我使用jQuery时,它将可以在某些浏览器上使用,因此即使我自己可以实现更轻量的解决方案,但我发现学习jQuery如何让我编写代码更有益JavaScript,然后按自己的方式做。

最后,我倾向于发现限制性的HTML / CSS框架。我有足够的控制能力,我仍然愿意在可能的时候手工编写代码。但是,我尊重这样一个事实,即比我聪明得多的人花了很多时间来设置这些模板/框架。


1
滚动自己的好点。同样,我了解的更少或更少,但是宁愿通过php处理CSS中的变量。所以..所以我不想跳到Ruby。不想过多地侵犯“发展”方面,只是想让我的生活更轻松:)
Scott

@Scott-Gotcha。我之所以仅提到Ruby,是因为我首先在Rails环境中尝试了Bootstrap,并且我喜欢您可以在不重新组装新版本的情况下即时更改主变量。
布伦丹

2
@Scott可能是“如果您只有一把锤子,一切看起来都像钉子”的情况—当然,您可以使用php来处理CSS变量,但是那样您会遭受不必要的性能损失。您可以使用LESS或SASS预编译变量。我发现LESS比通篇介绍的PHP更易于阅读。:)
ghoppe

@ghoppe Understood :)但是,根据我的经验,在PHP页面顶部的颜色变量列表,然后在CSS选择器中简单地使用这些变量,会使生活比LESS或SASS容易。是的,我意识到php可以为较大的结构提供性能,但是如果需要的话,我可以吐出一个标准的.css文件来使用(这是我自己的LESS体系结构)。我发现LESS本质上来说是一个新的标记,较难理解。HTML / CSS / PHP在这里非常熟悉。
斯科特(Scott)

@Scott我完全可以让您学习新的标记。这就是为什么我喜欢SASS。它本质上只是CSS的扩展,您不必学习新的语法,而只需学习所需的新功能(例如变量或混合)。超级简单。
ghoppe

6

出于兴趣,你们中有人在一家大公司的大型团队中工作吗?

引导程序之类的框架非常适合在整个项目中创建一致的代码标准,这还意味着在招募新开发人员时,那些拥有流行框架经验的人将已经熟悉语法并且可以更快地投入生产。大公司的好消息。

另外,..使用引导程序之类的框架,他们通过支持更多的屏幕尺寸,更多的设备和更好的功能来不断地对其进行更新,这对于像我们这样的公司(使用引导程序的公司)来说,这实际上可以节省金钱。

阅读到目前为止的一些答案,他们似乎头脑很狭窄,我假设大多数答案来自习惯于独自工作或在非常小的团队中以及在较小项目上的人,而这类事情通常不是问题。


看我的答案。:)
DA01

..那就是为什么我问。我不在大型开发环境中工作。我怀疑如果这样做我的看法会有所不同。
斯科特,

4

除了先前的出色回答中所说的以外,这些模板的另一个优势是跨设备一致性。内置的网格使针对任何OS的设计都非常容易。

由于以下原因,我仍然更喜欢编写自己的代码:

  • 熟悉我已经写的东西。如果我需要更改任何内容,那么我确切地知道它在哪里;

  • 以项目为中心的结构。每个新站点/应用程序都将具有与以前不同的需求,因此可能需要分别组织文件和资源。

  • 不同设备的自定义视图。

除非制作的页面非常有限,否则最终将为新元素添加越来越多的样式,并覆盖现有样式。

因为我喜欢使用响应式设计,所以我不使用它们的主要原因是因为我更喜欢“单独”设计整个响应式步骤。而且这些模板通常与或多或少的刚性网格一起使用,您无法完全对其进行调整。


1
那是我在想的一部分。以及为什么我决定对Bootstrap采取行动。系统的响应能力可能是有益的。但是,该结构的学习曲线似乎几乎无法解决。布伦登在回答“滚动自己的结构”时确实提出了一个很好的观点。
斯科特(Scott)

4

最大的优点是您可以尝试自己调整大小,而不仅仅是猜测外观。

我有一个非常“内容至上”的开发方法,实际上我在其中编码导航并添加文本内容。它倾向于使您接触到在设计阶段无法预料的事物。

通过使用诸如Twitter Bootstrap之类的框架,您实际上可以在设计时就测试页面,甚至可以发现可用性问题和其他用户体验挑战。这些框架具有大量可重用的类,您将熟悉它们并节省时间。

您提到您从头开始编写了很多代码。当我有一些需要非常定制或重量很轻的东西时,我会选择Skeleton


谢谢。与其他一些相比,我发现Skeleton 非常好用。足以帮助您快速响应,而无需实际为您设计任何东西。
斯科特,

3

多年来,我曾经对所有内容进行手工编码,但如今,我倾向于使用Bootstrap。我为什么要这样做?

  1. 我得到的响应式布局工作很少。在我正在开发的某些网站上,只需要进行一些小调整即可获得针对平板电脑和移动设备优化的布局。响应式导航栏是我最喜欢的引导程序组件之一。
  2. 浏览器和操作系统之间的默认控件不一致,更不用说无论您使用哪种操作系统或浏览器,它们都是难看的。使用引导程序,您将获得体面,一致的外观和工作量。如果您仍然想重新设置所有控件的样式,那么可以,Bootstrap不会为您节省很多时间,但是根据我的经验,大多数时候您没有足够的时间来重新设置每个控件的样式,但仍然会因默认的丑陋而感到恼火控件。
  3. 它限制了您要做的事情,这是一件好事,因为在纯CSS中工作时,您往往想调整所有小东西(颜色,边框粗细,渐变,阴影,边框半径,过渡,并且列表继续显示),尽管它们各自花费的时间很少,但总体而言,这是一个主要的时间消耗。在有期限的项目上工作时,您想限制可以做什么和不能做什么;使用框架可以让您考虑粗粒度的组件,而不是要调整的CSS属性。
  4. 一些服务器端框架已与引导程序集成。例如,当使用django-bootstrap时,您只{{ form|as_bootstrap }}需要获取样式为引导程序样式的表单即可,包括错误消息的红色突出显示等。

在更改Bootstrap时,我发现我有80%或更多的时间都花在学习将什么类或id应用于某事上,然后在CSS中进行调整。

那就是你弄错了的地方。如果您想从Bootstrap中受益,则不应进行过多的自定义。您会放弃使用预制组件时必须且能够调整所有内容的灵活性。从宜家组件中装饰房间时,您不应该花时间锯木板或雕刻木板。

当您需要通过预建组件快速修补运行中的网站时,Bootstrap非常有用。如果您将它们放在设计精美的网站中,它们的组件确实会像拇指一样伸出来,因此我通常将Bootstrap用于此类项目。

使用任何预配置的前端程序包仅意味着我需要学习它们的命名约定和结构,而不是依靠自己的。

这实际上是使用流行软件包的优势。当你们俩都知道“ btn-group”,“ btn btn-large”的工作时,将项目交给另一个开发人员会更容易,他们需要借助个人框架来学习您的特性(或更常见的是,他们只是级联您的CSS及其所做的更改,而不必费心尝试解密或修改您的代码)。

您是否只是熟悉所使用的系统,以便可以轻松地导航它,还是仍然需要寻找物品?

像btn,table,row *,span *等常见的选项很自然。但是对于主要组件的html而言,仅从示例中复制粘贴而不是键入它们会更快。

您是否可以在没有他们的情况下建立一个站点?

去过那里,做了很多次。


抱歉,我认为此答案实质上是“为我设计Bootstrap,而不是为网站设计”。作为设计师,这正是 Bootstrap失败的地方。如果您依靠Bootstrap来样式化所有内容,那么您将依靠Bootstrap为您设计。本质上,您是在进行页面布局,而不是设计。
斯科特(Scott)

@斯科特:是的,我不是平面设计师。我关心的是一个能正常运行并能够快速构建的网站,而不是希望它能被涂上我想要的确切颜色。
Lie Ryan

很公平。(但是给出了该站点的名称。。。)我不是在问开发问题。我在问设计。我了解将Bootstrap用作您的“设计师”,但是,如果您设计师,Bootstrap仅提供结构。我发现很难看到预包装结构中的价值,我将对其进行简单地重写以改善罐头外观。创建您自己的.btn类并设置其样式非常简单。作为设计师,项目的CSS外观几乎没有价值。
斯科特,

您好像可以在一个小时内编写Bootstrap。:)
deizel

一点都不。但是我宁愿花更多的时间在自定义外观上,而不是使用一些罐头包装,每个站点最终看起来都一样。我不希望所有开发人员都能“做到”。根据记载,引导是不是参与或复杂。这仅仅是自定义,需要学习Twitter的命名约定。
斯科特,

2

它们仅适用于:

  1. 不熟悉编码但想要一种解决方案将其设计带到现场的设计师。
  2. 一种为不想建立自己的框架的人简化生产线的方法。

我个人有自己的方法,也不想走这条路,因为我已经学会了如何编码CSS,HTML和jQuery。对于那些毫无头绪并且试图学习编码的人,我确实看到了这些好处。大约五年前看到这样的事情真是太好了。而且,正如您所说,在您当前的生产方法中实施此操作将花费更长的时间。

编辑: 不试图劫持您的线程,但我也想知道同一件事,但关于WordPress。我很少使用WordPress,但我不知道框架是否有益。我已经计划过时了,直到我能找到主要的好处。


3
WordPress对于那些不了解PHP,想要在PHP中插入体系结构或需要用户/安全系统的人来说是有益的。从整体上看,我发现CMS系统比CSS模板具有更多的好处。使用Wordpress与前端无关,而与后端有关。
斯科特

0

Bootstrap可以很好地用作响应式布局的起点。但是就设计而言,我认为它相当缺乏。它的外观有点像“ bootstrappy”,因为它的模板已被过度使用。

但是您必须记住启动的目的是为了使Twitter构建的内部应用程序具有一致性,如果要使用它进行引导,甚至您的开发人员想要在此处快速使用Web应用程序没有太多的想法,也许作为MVP或原型它是一个非常好的工具。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.