小编ste*_*esu的帖子

"display:table-cell"的孩子身高100%

我拿了一个我发现的定价表HTML/CSS/JS,并决定尝试弯曲它以满足我对给定页面的需求.不幸的是,我碰到了一堵墙.以下小提琴是目前表格的HTML和CSS的简单示例:

https://jsfiddle.net/jv89hopf/1/

为了使各列均匀地间隔开出跨页的宽度,无论我使用的列数的display:table,table-layout:fixeddisplay:table-cell.这非常有效,当我添加或删除列时,表会根据需要进行调整以填充空间

现在问题是当一列高于其他列时.我希望所有列都能拉伸以匹配最高柱的高度.

查看Chrome检查器时,我可以看到表格单元格完全填满了高度:

Chrome检查器中的定价表高度

现在我需要的是这个表格单元格的子节点填充高度(在上面提供的小提琴中,这将是.price-wrapper- 它需要填充.price-list li)

我试过了两个:

  1. height: 100%
  2. position: absolute; top:0; bottom:0; left:0; right:0;

前者由于某种原因没有做任何事情,后者倒塌.price-list到0像素高(因为只有高度的孩子绝对定位,因此从流程中移除)

如果我能够.price-wrapper正确地达到100%的高度,.price-list li那么我可以使用display:table并将display:table-row"立即购买"按钮推到底部并获得所需的外观:

期望的高度

html css tablecell

1
推荐指数
1
解决办法
3594
查看次数

如何从SourceBuffer获取具体的错误消息

我有一个 HTML5 视频,MediaSource其源为 。当我调用SourceBuffer.appendBuffer()SourceBuffer 时抛出错误。

我能够检测到何时抛出此错误,如下所示:

sourceBuffer.addEventListener("error", function() {
    console.log(arguments);
});
Run Code Online (Sandbox Code Playgroud)

然而,这种情况下的“参数”包含ErrorEvent没有任何意义的消息或数据。只是对失败的 SourceBuffer 的引用。

我需要找出失败的原因,这样我才能修复它。

html media-source

1
推荐指数
1
解决办法
1691
查看次数

简单的perl split()和正则表达式问题

可能重复:
如何使用正则表达式解析Perl中引用的CSV?

我试图获取一个CSV文件并将每一行导入一个数组(其中每个元素代表一列).CSV文件的格式非常简单:

item1,item2,item3
nextrowitem1,item2,item3
"items,with,commas","are,in,quotes"
Run Code Online (Sandbox Code Playgroud)

我使用以下方法导入了CSV文件:

open(FILE, "test.csv");
@lines = <FILE>;
Run Code Online (Sandbox Code Playgroud)

然后我使用以下方法循环:

foreach(@lines){
    @items = split(/regular expression/);
    /*Do stuff with @items array*/
}
Run Code Online (Sandbox Code Playgroud)

(请注意,您不需要使用,split(/regular expression, $string);因为split()假设$_没有提供字符串)

在我使用CSV文件测试文件之前,其中没有任何项目包含逗号和简单的正则表达式split(/,/).这工作得很好,所以在这个正则表达式之后,文件,读取它或我的循环没有任何问题.但是,当我点击包含逗号的项目时,他们可以理解地划分为:

1 => "items
2 => with
3 => commas"
4 => "are
5 => in
6 => quotes"
Run Code Online (Sandbox Code Playgroud)

而不是期望的:

1 => items,with,commas
2 => are,in,quotes
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我开发正则表达式来正确分割这个数组吗?基本上如果项目以quote(")开头,则需要等到","分割.如果项目不以引号开头,则需要等到,分割.

regex arrays perl split

0
推荐指数
2
解决办法
1206
查看次数

一定长度的幂集元素

给定 PHP 中的一个元素数组,我希望创建一个新的二维数组,仅包含幂集中特定长度的元素。例如,对于以下数组:

array(4) {
    0 => 'A',
    1 => 'B',
    2 => 'C',
    3 => 'D'
}
Run Code Online (Sandbox Code Playgroud)

如果我要运行该函数,fixed_length_power_set( $arr, 2 )那么我希望它返回:

array(6) {
    0 => array(2) {
        0 => 'A',
        1 => 'B'
    }
    1 => array(2) {
        0 => 'A',
        1 => 'C'
    }

    2 => array(2) {
        0 => 'A',
        1 => 'D'
    }
    3 => array(2) {
        0 => 'B',
        1 => 'C'
    }
    4 => array(2) {
        0 => 'B',
        1 => 'D' …
Run Code Online (Sandbox Code Playgroud)

php set powerset

0
推荐指数
1
解决办法
1925
查看次数

基于PHP中的构造函数参数的不同对象定义?

我不相信这是可能的,在谷歌上搜索没有产生任何结果,但我认为问题永远不会伤害.

我正在尝试通过PHP库在我的网站上实现Google Chart.我发现我喜欢的库(googlechartphplib)有大约10种不同的类文件,适用于每种类型的图表.这意味着为了创建一个饼图,我必须使用$chart = new GooglePieChart();而创建一个我必须使用的QR码$chart = new GoogleQRCode();,等等.

然而,当我真正研究使用API​​时,我注意到图表的类型被传递给构造函数(它被保存,然后作为查询字符串的一部分传递给API).例如,制作折线图的代码不仅仅是$chart = new GoogleChart();,它$chart = new GoogleChart('lc', 500, 200);(lc定义"折线图",500和200是尺寸)

这让我想到:为什么我不能只读取第一个参数来确定要创建哪种类型的图表?有一个通用构造函数:

$piechart = new GoogleChart('pie');
$linechart = new GoogleChart('lc');
$qrcode = new GoogleChart('qr');
...
Run Code Online (Sandbox Code Playgroud)

在我的所有函数调用中,我可以考虑使用switch/case语句来实现此目的.例如:

public function computeQuery() {
    switch( $this->type ) {
        case 'qr':
            /* QR code function */
            break;
        case 'pie':
            /* Pie chart function */
            break;
        case 'lc':
        default:
            /* line chart code */
            break;
    }
Run Code Online (Sandbox Code Playgroud)

然而,这将涉及重写已经存在的所有代码(通过我复制/粘贴90%代码的能力略微加快).有没有办法简单地根据构造函数参数选择结果对象应该是哪个类?例: …

php oop constructor

0
推荐指数
1
解决办法
1143
查看次数

VueJS语法:在Promise中保存值

StackOverflow的帮助下,我loadData在页面加载和单击按钮时运行了以下内容.

但是,页面上的文本不会更新.我的语法有些不对劲this.text = xhr.data

index.html:

<div id="app"></div>

app.js:

const Vue = window.Vue = require("vue");
Vue.prototype.$http = require("axios");
const App = require("./components/App.vue");

window.app = new Vue({
    el: "#app",
    render: h => h(App)
});

components/app.vue:

<template>
    <div>
        <h1>Test</h1>
        <p>{{text}}</p>
        <button @click="this.loadData">Reload</button>
    </div>
</template>
<script>
export default {
    mounted() {
        this.loadData();
    },
    methods: {
        loadData() {
            this.$http.get("https://icanhazip.com")
                // This fails
                .then(xhr => this.text = xhr.data);
        }
    }
};
</script>
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuejs2

0
推荐指数
1
解决办法
829
查看次数

标签 统计

html ×2

php ×2

arrays ×1

constructor ×1

css ×1

javascript ×1

media-source ×1

oop ×1

perl ×1

powerset ×1

regex ×1

set ×1

split ×1

tablecell ×1

vue.js ×1

vuejs2 ×1