百科问答小站 logo
百科问答小站 font logo



前端工程师讨厌写 CSS 是什么心态? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

其实很多时候我们放大了JavaScript的缺陷。却忽略了CSS的问题……


相信每一个前端都听说过一句话,HTML描述文档结构,CSS决定呈现样式,JavaScript处理行为逻辑。


真正的前端都知道,这句话里面只有三分之二是真的。


user avatar   jin-chi-zhong 网友的相关建议: 
      

我觉得大部分在这个答案下“赞扬”CSS的,都是没写过多少CSS的。

CSS的坑在于:CSS永远只解决一半的问题。

大部分的时候,写CSS就是不断的运用各种“花招”去解决各种正常的需求。

而这些“花招”又带来更多的问题。


不信?我们来看看一个最基础的需求吧:如何在CSS中居中一个元素。

Google一下 css vertical center就会找到一个叫做css-tricks的网站。

分了12类情况讨论如何居中一个元素。

那么,是不是掌握了这12种情况,就完全万事大吉了呢?

真的想多了。。。不信你再Google一下:css center fixed div

然后可以再Google一下:css center fixed div with dynamic content

然后可以再Google一下:css vertical center fixed div with dynamic content

最后你会“很开心的”找到一种万金油的写法:设置left和top为50%,然后用transform: translate(-50%, -50%)修正回来。

你以为故事到此就结束了?????naive


CSS最可怕的地方在于,CSS中很多“事实标准”的东西。或者说,由于实施过程中发现技术限制而导致最后没法实现的和期望一致而达成的妥协标准。

我们就拿刚刚的“万金油”举例吧,为什么这个万金油还是有坑。


上面截图的代码在此:

       <html>   <body>     <div class='popup-mask'>       <div class="popup" style="width: 500px; height: 400px">         <h1>一个弹出窗口</h1>         <div class='popup-mask'>           <div class="popup" style="width: 200px; height: 100px">             <h1>弹出窗口中的弹出窗口</h1>           </div>         </div>       </div>     </div>   </body>   <style> .popup {     position: fixed;     left: 50%;     top: 50%;     transform: translate(-50%, -50%);     background-color: blue; }  .popup-mask {     position: fixed;     left: 0;     top: 0;     right: 0;     bottom: 0;     background-color: rgba(0,0,0,0.3); }   </style> </html>     


嗯,然后就可以继续Google了:css vertical center fixed div with dynamic content with nest support

对于这么复杂的问题,Google也表示无能为力啊。。。。




  

相关话题

  前端现在怎么这么多人? 
  你见过哪些奇趣的代码注释? 
  能独立做出一个自己的博客,前端程序员是什么水平? 
  文本格式(txt、doc)的HTML,有什么办法快速读取出特定的标签及里面的内容? 
  为什么 Dreamweaver 这类所见即所得的编辑器会生成很多垃圾代码? 
  如何看待前端面试不知道 lodash 被嘲讽不可思议? 
  在asp.net mvc的视图文件(.cshtml)中引用外部文件? 
  前端工程师讨厌写 CSS 是什么心态? 
  前端当前是否处在一个糟糕的时代? 
  大四程序员选择去大公司还是小公司? 

前一个讨论
C++笔试算法题允许用stl函数吗?
下一个讨论
有没有可能推出一款三体的游戏?





© 2024-09-20 - tinynew.org. All Rights Reserved.
© 2024-09-20 - tinynew.org. 保留所有权利