2016-02-19 17 views
7

PhantomJS supporta il flex moderno? se corro questo file:Flex su PhantomJS

$ cat x.js 
var $ = require('jquery'); 
$('<div/>', {id: 'x'}).appendTo($('body')); 
var x = $('#x'); 
x.css('color', 'red'); 
console.log('color: ' + x.css('color')); 
x.css('flex', '0 0 0px'); 
console.log('css: ' + x.css('flex')); 

si può vedere che .css() funziona bene per il colore, ma non per flex.

$ phantomjs x.js 
color: rgb(255, 0, 0) 
css: undefined 

Ho provato anche alcune varianti: -webkit-flex, -moz-box-flex e -ms-flex, i quali producono gli stessi risultati. curiosamente, -webkit-box-flex restituisce 0 invece di undefined, ma sembra sbagliato.

Io corro con:

$ phantomjs --version 
1.9.8 

risposta

2

Considerando che il motore PhantomJS 1.x è ormai più di 5 anni. Sì, la flexbox non è supportata. Modernizr riporta che è supportata la flexboxlegacy. Con PhantomJS 2.x ottieni support for flex.

+0

beh ... ci sono voluti alcuni per ottenere v2 installato su OSX. la versione di npm non ha funzionato, ma fortunatamente la versione home-brew funziona (sono ora in 2.1.1) e sì! supporta flex. sì!! – ekkis

+4

Direi ** supporto flex ** limitato. Il centraggio non funziona correttamente: https://github.com/ariya/phantomjs/issues/12367 –

+2

Anche flex-wrap: https://github.com/ariya/phantomjs/issues/14365 –