首页 >

如何将嵌套的PHP数组转换为CSS规则?(code)

后端开发|php教程如何将嵌套的PHP数组转换为CSS规则?(code)
PHP数组,CSS规则
后端开发-php教程
应用程序的许多方面都可以自动化,例我们可以使用某些PHP代码(如使用数组)来生成样式表。那么如何实现?下面本篇文章就来带大家了解一下如何将嵌套的PHP数组转换为CSS规则,并以字符串的形式显示,希望对大家有所帮助。
erp 网页版b s 源码,vscode 开发 vc,ubuntu删除一个文件,tomcat %b,sqlite支持类,网站 搭建 亚洲服务器,日历插件免费下载,科蓝前端框架,python爬虫抓取微博,php更新后,seo系统培训班,警告欺骗网站模板,精美网页设计模板 服装,说明文档html模板,html 禁止页面缩放,图书馆管理系统开源,java telnet程序lzw
二维码php解析源码,vscode用的人多吗,ubuntu除了gnome,tomcat 测试组播,爬虫表单类型,php5.2.17配置,莆田市seo优化策略,.net修改网站栏目,网贷网站模板lzw
下面我们就来看看将嵌套的关联数组转换为CSS字符的方法。
千牛协议源码,ubuntu关机显示几行,爬虫的逻辑框架,php读取另一个php,seo880818lzw
1、编写关联数组转换为css字符串的函数

要在PHP中将数组转换为CSS字符串(在SASS或LESS的情况下使用规则或简单变量),我们将使用以下函数:

array('property' => 'value')).  *   还支持选择器 *   嵌套示例: *   array('selector' => array('selector'=>array('property' => 'value'))). * * @return 字符串一个CSS规则字符串。它不包含在标签中。 */function css_array_to_css($rules, $indent = 0) {    $css = '';    $prefix = str_repeat('  ', $indent);    foreach ($rules as $key => $value) {        if (is_array($value)) {            $selector = $key;            $properties = $value;            $css .= $prefix . "$selector {\n";            $css .= $prefix . css_array_to_css($properties, $indent + 1);            $css .= $prefix . "}\n";        } else {            $property = $key;            $css .= $prefix . "$property: $value;\n";        }    }    return $css;}//调用css_array_to_css()函数转换//code?>

说明:该函数基本上期望作为第一个参数包含CSS的规则或简单属性的数组,其中不是数组的每个key =>value;都将表示为key : value;,如果键的值是数组,则规则为css将被引入。

2、使用函数

正如上述函数说明中所提到的,它从具有指定规则的数组中返回一个CSS字符串。只要数组的结构有效,该函数就可以正常用于纯CSS规则,媒体查询,SASS和LESS。例如:

● 转换为CSS:

在 css_array_to_css()函数后添加以下代码:

$stylesheet = array(    "body" => array(        "margin" => "0",        "font-size" => "1rem",        "font-weight" => 400,        "line-height" => 1.5,        "color" => "#212529",        "text-align" => "left",        "background-color" => "#fff"    ),    ".form-control" => array(        "display" => "block",        "width" => "100%!important",        "font-size" => "1em",        "background-color" => "#fff",        "border-radius" => ".25rem"    ));echo(css_array_to_css($stylesheet));

上一个代码段将输出以下CSS规则:

body {  margin: 0;  font-size: 1rem;  font-weight: 400;  line-height: 1.5;  color: #212529;  text-align: left;  background-color: #fff;}.form-control {  display: block;  width: 100%!important;  font-size: 1em;  background-color: #fff;  border-radius: .25rem;}

● 转换为SASS / SCSS:

由于递归实现,将能够在规则中嵌套多个规则,这允许我们为SASS生成有效的语法:

$sass = array(    "nav" => array(        "ul" => array(            "margin" => 0,            "padding" => 0,            "list-style" => "none"        ),        "li" => array(            "display" => "inline-block"        ),        "a" => array(            "display" => "block",            "padding" => "6px 12px",            "text-decoration" => "none"        )    ));echo css_array_to_css($sass);

上一个代码段将输出以下SASS代码:

nav {  ul {      margin: 0;      padding: 0;      list-style: none;  }  li {      display: inline-block;  }  a {      display: block;      padding: 6px 12px;      text-decoration: none;  }}

● 转换为LESS:

与SASS的工作方式相同,我们也可以使用LESS编写复杂的规则:

$less = array(    "@nice-blue" => "#5B83AD",    "@light-blue" => "@nice-blue + #111",    "#header" => array(        "color" => "@light-blue"    ),    ".component" => array(        "width" => "300px",        "@media (min-width: 768px)" => array(            "width" => "600px",            "@media (min-resolution: 192dpi)" => array("background-image" => "url(/img/retina2x.jpg)"            )        ),        "@media (min-width: 1280px)" => array(            "width" => "800px"        )    ));echo css_array_to_css($less);

上一个代码段将输出以下LESS代码:

@nice-blue: #5B83AD;@light-blue: @nice-blue + #111;#header {  color: @light-blue;}.component {  width: 300px;  @media (min-width: 768px) {    width: 600px;    @media (min-resolution: 192dpi) {          background-image: url(/img/retina2x.jpg);    }  }  @media (min-width: 1280px) {      width: 800px;  }}

相关视频教学推荐:《PHP教学》


如何将嵌套的PHP数组转换为CSS规则?(code)
  • php数组(Array)
  • php数组(Array) | php数组(Array) ...

    如何将嵌套的PHP数组转换为CSS规则?(code)
  • css3放大的属性 |css3 限制字数三行
  • css3放大的属性 |css3 限制字数三行 | css3放大的属性 |css3 限制字数三行 ...

    如何将嵌套的PHP数组转换为CSS规则?(code)
  • css样式方式优先级 |css声明全局
  • css样式方式优先级 |css声明全局 | css样式方式优先级 |css声明全局 ...