使用Javascript设置CSS样式,使其不会';t';跳转';使用多页网站

使用Javascript设置CSS样式,使其不会';t';跳转';使用多页网站,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我编写了一些代码(工具?框架?不知道该怎么称呼它),旨在使CSS能够使用Javascript进行样式化,但在重新加载或更改页面时不会跳转(因此在传统的多页面网站中使用…不确定传统术语)。我不是网络专家,所以我不确定是否值得进一步开发,或者对于我正在尝试解决的问题是否有更好的解决方案(可能性更大) 基本结构是 A.在某些客户端条件下(例如浏览器分辨率,但可以是任何东西,比如某个用户使用站点),CSS由客户端JS生成,并写入服务器上与场景相关的适当标题下的文件(例如1024x768.CSS、1024

我编写了一些代码(工具?框架?不知道该怎么称呼它),旨在使CSS能够使用Javascript进行样式化,但在重新加载或更改页面时不会跳转(因此在传统的多页面网站中使用…不确定传统术语)。我不是网络专家,所以我不确定是否值得进一步开发,或者对于我正在尝试解决的问题是否有更好的解决方案(可能性更大)

基本结构是

A.在某些客户端条件下(例如浏览器分辨率,但可以是任何东西,比如某个用户使用站点),CSS由客户端JS生成,并写入服务器上与场景相关的适当标题下的文件(例如1024x768.CSS、102400x76800.CSS)

B.服务器代码检查(通过cookies)是否满足客户端条件,检查与条件相关的css文件是否存在,使用它,否则生成它(A.)

潜在用途

  • 您继承了一个遗留站点或客户端坚持使用某个模板(Wordpress主题),该模板具有预先确定的HTML结构,因此仅修改CSS很难实现自定义外观。使用Javascript进行计算和调整可能比重构HTML或用CSS解决问题要快得多(时间允许,可以说是理想的解决方案)。另一方面,您不希望每次加载页面时样式都跳转,因为这样看起来很俗气
  • 编辑:上述示例

    正如下面的评论所指出的,我想不出一个好的例子。现在,我的测试是修改一个大小越来越小的导航菜单。这在CSS中似乎并不重要,可能是通过预先计算位置并使用绝对定位来完成的。但是还有一个问题,那就是根据屏幕分辨率来缩放所有内容

    或者Javascript可以动态计算位置和大小。当然,编写与数学螺旋函数对应的方法将是一个挑战(尽管这是一个有趣的挑战)

    可能还有其他解决方案,如使用.svg,但如果以通用方式编写,则可以很容易地根据其他数学函数(如正弦波)或复数比(黄金分割)进行定位

  • 您想要一个用户可以自定义外观(重新定位或甚至调整元素大小)的站点,并且您想要在服务器端代码中自动记住并生成自定义项(甚至可能不需要登录)。我相信这是由许多框架促成的,但这种方法将流程从特定的框架中剥离出来
  • 我想知道其他人是否想过:

    有一个更好的办法来解决我错过的所有问题

    B.我所描述的将JS中的CSS推送到服务器上编写的系统听起来不错,或者如果同样的事情完全可以通过另一种方式在客户端实现的话

    我猜,因为这不是一个具体的技术问题,这是否是问这个问题的正确地点,如果不是,我应该在哪里

    正如我所说,我不是专家,所以非常感谢任何反馈或其他可能帮助我学习的东西


    谢谢

    为什么要使用JavaScript构建多个CSS文件并处理加载的文件?为什么不使用媒体查询来控制网站在不同大小上的外观呢?是的,同意黑曜石的观点。听起来像是一种可怕的模仿css媒体查询的方式。不确定加载页面时跳转是什么意思。如果你的意思是,由于滚动条,网站看起来会发生变化,那就是web浏览器的工作方式。有些人这样做,有些人不这样做。你可以克服它,但它可能不值得你这么做time@ObsidianAge这将适用于这样的场景:您有一套HTML结构,需要根据需要手动插入每个可能的响应css的计算来定位或调整大小。我不是高级CSS用户,我想CSS几乎可以在任何情况下使用,但有些解决方案比其他解决方案更复杂,有时用JS放置或调整元素的大小要快得多,这正是这个概念发挥作用的地方。但是我会想一个像样的例子来说明它的用法。@KaiQing我说的“跳跃”是从DOM/CSS加载到Javascript执行(修改DOM/CSS)的瞬间。据我所知,脚本总是在CSS之后出现——如果我错了,请纠正我。我想不出哪种情况下,使用JavaScript而不是CSS来设计元素更容易。有了CSS,你就有了百分比值、
    em
    rem
    单位。。。别忘了你也可以用CSS做计算,比如高度:calc(100vh-40px)偏移页脚等:)