webView игнорирует css при загрузке содержимого epub3

Hy,

Я работаю над ридером, и мы работали над epub2, и я работаю над эффектом пагинации, используя файл.css. Недавно я получил файл ePub 3, и он не соответствует предоставленным мною правилам css, хотя он работает корректно при использовании приложения для Android Play Books.

Пожалуйста, обратите внимание, что я манипулировал несколькими функциями, связанными с веб-просмотром, такими как:

testWV.getSettings().setUseWideViewPort(true);
testWV.getSettings().setLoadWithOverviewMode(true);

и это используется CSS подкачки, который, как упоминалось ранее, отлично работает на файлах epub2

html {
     height:heightplaceholderpx;  //set dynamically depending on phone screen size 

     width:100%;
   }

body {
     margin:0px;
     padding:0px;
     width:100%;

     pointer-events: none;
  }


#viewer {
     width:widthplaceholderpx;
     height:heightplaceholderpx; 
 }

#book {
    width:widthplaceholderpx;
    height:heightplaceholderpx;

    margin-left:50px;
    margin-right:50px;
    margin-top:10px;

    -webkit-column-count:auto;
    -webkit-column-width:widthplaceholderpx;
    -webkit-column-gap:100px;
    text-align:justify;
}

.h {
    margin-top:60px;
    margin-left:100px; 
    margin-right:100px;
 }


img {
    max-width: 100%;
    height:auto;
 }

Пожалуйста, обратите внимание, что вот как я интегрирую файл CSS:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> 
    <link rel="stylesheet" href="columnPaging.css" type="text/css" media="screen"/>
    headplaceholder  //the header extracted from the xhtml file of the book
</head>
<body>
    <div id="viewer">
    <div id="book">
        bodyplaceholder   //the body extracted from the xhtml file of the book
    </div>
    </div>
</body>
</html> 

1 ответ

Решение

Как вы можете видеть, что вы используете этот вар widthplaceholderpx в его css. Обычно это следует переопределить в коде Java. Но когда bodyplaceholder было добавлено к телу в HTML, мне нужно было переопределить widthplaceholderpx снова. Таким образом, CSS будет знать, какова была фактическая высота.

Другие вопросы по тегам