Прозрачное и расширяемое отделение обертки, как?

Если вы столкнулись с этой проблемой в файле ts, в котором есть только некоторые постоянные значения, вы можете просто

переименовать файл .ts в файл .js

и ошибка больше не возникнет.

1
задан mdc 23 June 2009 в 23:22
поделиться

2 ответа

Хорошо. Если вы действительно хотите сделать это вручную: - (

Эта проблема состоит из двух частей:

  • Лексический анализ
  • Синтаксический анализ.
  • Мы можем игнорировать Симантический анализ, потому что это причина выше.

Сначала вы должны разметить входной поток в подходящие токены. Слова будут очевидным выбором, но это оставит много работы для синтаксической фазы. Поэтому я бы сгруппировал ваши слова по следующим типам (соединение, существительное, глагол , Article), а затем напишите лексер, чтобы вернуть правильные лексемы.

Lexer.cpp
enum Lexeme { END,Conjunction,Noun,Verb,Article };
Lexem getNextLexme(std::istream in)
{
    std::string word;
    in >> word;

    if (!in) {return END;}

         if (word == "and")   return Conjunction;
    else if (word == "birds") return Noun;
    else if (word == "fly")   return Verb;
    else if (word == "the")   return Article;

    ... etc
}

Итак, теперь вы можете написать свой синтаксический анализатор в терминах упрощенного потока токенов.

bool ParseSentence(std::istream in)
{
    Lexeme token = getNextLexme(in);
    switch(token)
    {
        case Noun:    if (!parseVerb(in))
                      {    return false;
                      }
                      return parseConjunctionOrEnd(in);
        case Article: return ParseSentence();
        case END:     return true;
    }
}
bool parseVerb(std::istream in)
{
    Lexeme token = getNextLexeme(in);
    if (token != Verb) { /*ERROR*/ return false;}
    return true;
 }
 // etc

Другой вариант синтаксического анализа - это создание таблицы состояний. это включает в себя ручной анализ граммера и определение состояний. Это должно быть сделано только с самыми тривиальными грамматиками,

Я полагаю, что основное содержимое будет здесь ...

Lorem ipsum dolor sit amet, Conctetuer adipiscing elit. Aeneanmodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis disparturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consquat massa quis enim.

Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Целочисленный tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus.

Aenean leo ligula, porttitor eu, consquat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Энеанское бессердечие. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.

Nam eget dui. Etiam Rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris сидят, амет нибх. Donec sodales sagittis magna. Sed conquat, leo eget bibendum sodales, augue velit cursus nunc,

... если вы знаете, что ваша аудитория будет использовать FF3.x (и, возможно, браузеры на основе webkit), вы можете использовать background-color: rgba (0,0,0, 0.6); для определения цвета фона (красный = 0, зеленый = 0, синий = 0, альфа = 0,4 или 40% непрозрачности (или 60% прозрачности) - значения находятся между 0 (полностью прозрачный) и 1 (полностью непрозрачный).)

Использование rgba для цвета предотвращает проблемы с использованием непрозрачности , чтобы сделать родительский div прозрачным, при попытке сделать дочерние элементы видимыми. Но, конечно, его использование ограничено из-за принятия браузером ...

На моем сайте закончилась рабочая демонстрация: http://www.davidrhysthomas.co.uk/so/transparent.html

2
ответ дан 3 September 2019 в 01:15
поделиться

Вам понадобится фрагмент изображения высотой 1px для прозрачности и один для закругленных шнуров внизу

.background{
    background:url(/image/path);
}
.wrapper{
    background:url(/image/path/trans.png) repeat-y; 
    width:500px; 
    position:relative;
 }
.wrapper .bottom{
     background:url(path/to/image) no-repeat; 
     position:absolute; 
     bottom:0; 
     left:0; 
     height:20px;
}

.inner{
    background:#fff; 
    margin:10px;
}

Я увеличил ширину и поля. Вы должны сами выбрать нужный размер

0
ответ дан 3 September 2019 в 01:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: